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; + } + } +}