mirror of
https://github.com/TimeCrafters/UltimateGoal.git
synced 2025-12-16 06:02:33 +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() {
|
new Thread(new Runnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
|
finalState.prestart();
|
||||||
finalState.start();
|
finalState.start();
|
||||||
finalState.startTime = System.currentTimeMillis();
|
finalState.startTime = System.currentTimeMillis();
|
||||||
finalState.run();
|
finalState.run();
|
||||||
@@ -202,6 +203,8 @@ public abstract class CyberarmEngine extends OpMode {
|
|||||||
*/
|
*/
|
||||||
public CyberarmState insertState(CyberarmState query, CyberarmState state) {
|
public CyberarmState insertState(CyberarmState query, CyberarmState state) {
|
||||||
int index = cyberarmStates.indexOf(query) + query.insertOffset;
|
int index = cyberarmStates.indexOf(query) + query.insertOffset;
|
||||||
|
Log.i(TAG, "Adding cyberarmState "+ state.getClass());
|
||||||
|
|
||||||
cyberarmStates.add(index, state);
|
cyberarmStates.add(index, state);
|
||||||
query.insertOffset++;
|
query.insertOffset++;
|
||||||
|
|
||||||
|
|||||||
@@ -22,6 +22,13 @@ public abstract class CyberarmState implements Runnable {
|
|||||||
public void init() {
|
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
|
* Called when state has begin to run
|
||||||
*/
|
*/
|
||||||
@@ -39,7 +46,6 @@ public abstract class CyberarmState implements Runnable {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
isRunning = true;
|
|
||||||
while (!hasFinished) {
|
while (!hasFinished) {
|
||||||
exec();
|
exec();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user