Skip to content

Commit 7806006

Browse files
committed
guiComponents.ts: RadioButtonCollection: stick drift issue
1 parent 6ce01e2 commit 7806006

File tree

1 file changed

+8
-35
lines changed

1 file changed

+8
-35
lines changed

guiComponents.ts

Lines changed: 8 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1302,46 +1302,19 @@ namespace microgui {
13021302
this.btns[this.selectedTextBtnIndex].click();
13031303
})
13041304

1305-
context.onEvent(ControllerButtonEvent.Pressed, controller.up.id, () => {
1306-
let tick = true;
1307-
context.onEvent(
1308-
ControllerButtonEvent.Released,
1309-
controller.up.id,
1310-
() => tick = false
1311-
)
1312-
1313-
// Control logic:
1314-
while (tick) {
1315-
this.btns[this.selectedTextBtnIndex].setSelected(false);
1316-
const len = this.btns.length
1317-
this.selectedTextBtnIndex = (((this.selectedTextBtnIndex - 1) % len) + len) % len
13181305

1319-
this.btns[this.selectedTextBtnIndex].setSelected(true)
1320-
basic.pause(200) // tick rate
1321-
}
1306+
context.onEvent(ControllerButtonEvent.Pressed, controller.up.id, () => {
1307+
this.btns[this.selectedTextBtnIndex].setSelected(false);
1308+
const len = this.btns.length
1309+
this.selectedTextBtnIndex = (((this.selectedTextBtnIndex - 1) % len) + len) % len
13221310

1323-
// Reset binding
1324-
context.onEvent(ControllerButtonEvent.Released, controller.up.id, () => { });
1311+
this.btns[this.selectedTextBtnIndex].setSelected(true)
13251312
});
13261313

13271314
context.onEvent(ControllerButtonEvent.Pressed, controller.down.id, () => {
1328-
let tick = true;
1329-
context.onEvent(
1330-
ControllerButtonEvent.Released,
1331-
controller.down.id,
1332-
() => tick = false
1333-
)
1334-
1335-
// Control logic:
1336-
while (tick) {
1337-
this.btns[this.selectedTextBtnIndex].setSelected(false)
1338-
this.selectedTextBtnIndex = (this.selectedTextBtnIndex + 1) % this.btns.length
1339-
this.btns[this.selectedTextBtnIndex].setSelected(true)
1340-
basic.pause(200) // tick rate
1341-
}
1342-
1343-
// Reset binding
1344-
context.onEvent(ControllerButtonEvent.Released, controller.down.id, () => { });
1315+
this.btns[this.selectedTextBtnIndex].setSelected(false)
1316+
this.selectedTextBtnIndex = (this.selectedTextBtnIndex + 1) % this.btns.length
1317+
this.btns[this.selectedTextBtnIndex].setSelected(true)
13451318
});
13461319
}
13471320

0 commit comments

Comments
 (0)