Skip to content

Commit 0d5de45

Browse files
committed
feat: add onSelect and onLog
1 parent 99d15fa commit 0d5de45

File tree

1 file changed

+21
-9
lines changed

1 file changed

+21
-9
lines changed

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

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,36 +17,48 @@ public abstract class SelectableOpMode extends OpMode {
1717
public SelectableOpMode(String name, Consumer<SelectScope<Supplier<OpMode>>> opModes) {
1818
selector = Selector.create(name, opModes, MESSAGE);
1919
selector.onSelect(opModeSupplier -> {
20+
onSelect();
2021
selectedOpMode = opModeSupplier.get();
22+
selectedOpMode.gamepad1 = gamepad1;
23+
selectedOpMode.gamepad2 = gamepad2;
24+
selectedOpMode.telemetry = telemetry;
25+
selectedOpMode.hardwareMap = hardwareMap;
2126
selectedOpMode.init();
2227
});
2328
}
2429

30+
protected void onSelect() {
31+
}
32+
33+
protected void onLog(String line) {
34+
}
35+
2536
@Override
2637
public final void init() {
2738
}
2839

2940
@Override
3041
public final void init_loop() {
3142
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();
43+
if (gamepad1.dpadUpWasPressed() || gamepad2.dpadUpWasPressed())
44+
selector.decrementSelected();
45+
else if (gamepad1.dpadDownWasPressed() || gamepad2.dpadDownWasPressed())
46+
selector.incrementSelected();
47+
else if (gamepad1.rightBumperWasPressed() || gamepad2.rightBumperWasPressed())
48+
selector.select();
49+
else if (gamepad1.leftBumperWasPressed() || gamepad2.leftBumperWasPressed())
50+
selector.goBack();
3651

3752
for (String line : selector.getLines()) {
3853
telemetry.addLine(line);
54+
onLog(line);
3955
}
4056
} else selectedOpMode.init_loop();
4157
}
4258

4359
@Override
44-
public void start() {
60+
public final void start() {
4561
if (selectedOpMode == null) throw new RuntimeException("No OpMode selected!");
46-
selectedOpMode.gamepad1 = gamepad1;
47-
selectedOpMode.gamepad2 = gamepad2;
48-
selectedOpMode.telemetry = telemetry;
49-
selectedOpMode.hardwareMap = hardwareMap;
5062
selectedOpMode.start();
5163
}
5264

0 commit comments

Comments
 (0)