Skip to content

Commit 16dcf98

Browse files
Jayden CosgroveJayden Cosgrove
authored andcommitted
> Fixed Looping Order for Enum Buttons
1 parent efef179 commit 16dcf98

File tree

3 files changed

+68
-93
lines changed

3 files changed

+68
-93
lines changed

32Stuff/TrainerEnumButton.cs

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,36 +15,38 @@ public partial class TrainerEnumButton : UserControl, ITrainerUI<byte>
1515
{
1616

1717
private byte value;
18-
private SortedList<byte,MyButton> buttons;
18+
private SortedList<byte, MyButton> buttons;
19+
20+
List<byte> byteList = new List<byte>();
1921

2022
public TrainerEnumButton(string title, params ValueStringPair[] values)
2123
{
2224
InitializeComponent();
2325
label1.Text = title;
2426

25-
buttons = new SortedList <byte, MyButton>();
27+
buttons = new SortedList<byte, MyButton>();
2628

2729
for (int i = 0; i < values.Length; i++)
2830
{
2931

3032
// vals[i] = values[i];
3133

3234
var val = values[i].value;
35+
byteList.Add(val);
36+
3337
MyButton butt = new MyButton();
3438
butt.Text = values[i].display;
3539
butt.Appearance = Appearance.Button;
36-
40+
3741
flowLayoutPanel1.Controls.Add(butt);
3842
buttons.Add(val, butt);
3943
butt.Click += new EventHandler((sender, eventArgs) => OnButtonPress(sender, eventArgs, butt, val));
40-
41-
4244
}
4345
}
4446

4547
private void OnButtonPress(object sender, EventArgs eventArgs, MyButton butt, byte value)
4648
{
47-
49+
4850
this.value = value;
4951
SelectButton(value);
5052

@@ -53,18 +55,18 @@ private void OnButtonPress(object sender, EventArgs eventArgs, MyButton butt, by
5355
onValueChanged.Invoke(value);
5456
}
5557

56-
void SelectButton (byte value)
58+
void SelectButton(byte value)
5759
{
5860
foreach (var item in buttons)
5961
{
6062
item.Value.Checked = (value == item.Key);
61-
63+
6264
}
6365
}
6466

65-
6667

67-
public ValueChanged<byte> onValueChanged { get ; set ; }
68+
69+
public ValueChanged<byte> onValueChanged { get; set; }
6870

6971
public byte GetValue()
7072
{
@@ -76,19 +78,22 @@ public void SetValue(byte value)
7678
this.value = value;
7779
SelectButton(value);
7880

79-
81+
8082
}
8183

8284
public void AttemptShuffle()
8385
{
8486
if (!LoopBox.Checked) return;
8587

86-
int index = buttons.IndexOfKey(value) + 1;
87-
index %= buttons.Count();
8888

89-
byte newValue = buttons.Keys[index];
89+
int index = byteList.IndexOf(value) + 1;
90+
index %= byteList.Count();
91+
92+
byte newValue = byteList[index];
9093

9194
SetValue(newValue);
95+
96+
onValueChanged.Invoke(newValue);
9297
}
9398
}
9499
}

0 commit comments

Comments
 (0)