From 105b31a31bc1aae190a0dcad4cbd4955c722cb16 Mon Sep 17 00:00:00 2001 From: Cyberarm Date: Sun, 29 Jan 2023 17:50:44 -0600 Subject: [PATCH] Add Wait state --- .../chiron/states/autonomous/Wait.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 TeamCode/src/main/java/org/timecrafters/minibots/cyberarm/chiron/states/autonomous/Wait.java diff --git a/TeamCode/src/main/java/org/timecrafters/minibots/cyberarm/chiron/states/autonomous/Wait.java b/TeamCode/src/main/java/org/timecrafters/minibots/cyberarm/chiron/states/autonomous/Wait.java new file mode 100644 index 0000000..d1b2c35 --- /dev/null +++ b/TeamCode/src/main/java/org/timecrafters/minibots/cyberarm/chiron/states/autonomous/Wait.java @@ -0,0 +1,39 @@ +package org.timecrafters.minibots.cyberarm.chiron.states.autonomous; + +import org.cyberarm.engine.V2.CyberarmState; +import org.timecrafters.minibots.cyberarm.chiron.Robot; + +public class Wait extends CyberarmState { + private final Robot robot; + private final String groupName, actionName; + + private final double timeInMS; + private final boolean stateDisabled; + + public Wait(Robot robot, String groupName, String actionName) { + this.robot = robot; + this.groupName = groupName; + this.actionName = actionName; + + timeInMS = robot.getConfiguration().variable(groupName, actionName, "timeInMS").value(); + + stateDisabled = !robot.getConfiguration().action(groupName, actionName).enabled; + } + + @Override + public void exec() { + if (stateDisabled) { + setHasFinished(true); + + return; + } + + if (runTime() >= timeInMS) { + stop(); + + setHasFinished(true); + + return; + } + } +}