Skip to content

Commit 105b704

Browse files
committed
fix: make SelectableOpMode run init and init_loop on the selected OpMode
1 parent 9ba5628 commit 105b704

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

src/main/java/com/pedropathing/telemetry/SelectableOpMode.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ public abstract class SelectableOpMode extends OpMode {
1616

1717
public SelectableOpMode(String name, Consumer<SelectScope<Supplier<OpMode>>> opModes) {
1818
selector = Selector.create(name, opModes, MESSAGE);
19-
selector.onSelect(opModeSupplier -> selectedOpMode = opModeSupplier.get());
19+
selector.onSelect(opModeSupplier -> {
20+
selectedOpMode = opModeSupplier.get();
21+
selectedOpMode.init();
22+
});
2023
}
2124

2225
@Override
@@ -25,14 +28,16 @@ public final void init() {
2528

2629
@Override
2730
public final void init_loop() {
28-
if (gamepad1.dpad_up || gamepad2.dpad_up) selector.decrementSelected();
29-
else if (gamepad1.dpad_down || gamepad2.dpad_down) selector.incrementSelected();
30-
else if (gamepad1.right_bumper || gamepad2.right_bumper) selector.select();
31-
else if (gamepad1.left_bumper || gamepad2.left_bumper) selector.goBack();
32-
33-
for (String line : selector.getLines()) {
34-
telemetry.addLine(line);
35-
}
31+
if (selectedOpMode == null) {
32+
if (gamepad1.dpad_up || gamepad2.dpad_up) selector.decrementSelected();
33+
else if (gamepad1.dpad_down || gamepad2.dpad_down) selector.incrementSelected();
34+
else if (gamepad1.right_bumper || gamepad2.right_bumper) selector.select();
35+
else if (gamepad1.left_bumper || gamepad2.left_bumper) selector.goBack();
36+
37+
for (String line : selector.getLines()) {
38+
telemetry.addLine(line);
39+
}
40+
} else selectedOpMode.init_loop();
3641
}
3742

3843
@Override

0 commit comments

Comments
 (0)