mirror of
https://github.com/TimeCrafters/UltimateGoal.git
synced 2025-12-13 05:02:34 +00:00
Added protected prestart() method to State to set isRunning to true before start() is called to ensure states added in start() are correctly setup
This commit is contained in:
@@ -170,6 +170,7 @@ public abstract class CyberarmEngine extends OpMode {
|
||||
new Thread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
finalState.prestart();
|
||||
finalState.start();
|
||||
finalState.startTime = System.currentTimeMillis();
|
||||
finalState.run();
|
||||
@@ -202,6 +203,8 @@ public abstract class CyberarmEngine extends OpMode {
|
||||
*/
|
||||
public CyberarmState insertState(CyberarmState query, CyberarmState state) {
|
||||
int index = cyberarmStates.indexOf(query) + query.insertOffset;
|
||||
Log.i(TAG, "Adding cyberarmState "+ state.getClass());
|
||||
|
||||
cyberarmStates.add(index, state);
|
||||
query.insertOffset++;
|
||||
|
||||
|
||||
@@ -22,6 +22,13 @@ public abstract class CyberarmState implements Runnable {
|
||||
public void init() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Called just before start to ensure state is in correct state
|
||||
*/
|
||||
protected void prestart() {
|
||||
isRunning = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Called when state has begin to run
|
||||
*/
|
||||
@@ -39,7 +46,6 @@ public abstract class CyberarmState implements Runnable {
|
||||
*/
|
||||
@Override
|
||||
public void run() {
|
||||
isRunning = true;
|
||||
while (!hasFinished) {
|
||||
exec();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user