diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2016-03-30 17:35:37 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2016-03-30 17:35:37 +0200 |
commit | e66abf40b77d601b78b15ca775bbfbdbc45a4bf3 (patch) | |
tree | cf2c703af6bdbee0a0ea02f2b02dbea9ac0d1c95 /core/src/ch/asynk/rustanddust | |
parent | a9b5874573c9829ca6350143b9f833ffea6bd0c5 (diff) | |
download | RustAndDust-e66abf40b77d601b78b15ca775bbfbdbc45a4bf3.zip RustAndDust-e66abf40b77d601b78b15ca775bbfbdbc45a4bf3.tar.gz |
Ctrl: add setState loop and depth detection
Diffstat (limited to 'core/src/ch/asynk/rustanddust')
-rw-r--r-- | core/src/ch/asynk/rustanddust/game/Ctrl.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/src/ch/asynk/rustanddust/game/Ctrl.java b/core/src/ch/asynk/rustanddust/game/Ctrl.java index 29c674c..6b5ec1a 100644 --- a/core/src/ch/asynk/rustanddust/game/Ctrl.java +++ b/core/src/ch/asynk/rustanddust/game/Ctrl.java @@ -56,6 +56,7 @@ public abstract class Ctrl implements Disposable public boolean blockHud; private Hex touchedHex; protected boolean synched; + private int depth; private final State selectState; private final State pathState; @@ -102,6 +103,7 @@ public abstract class Ctrl implements Disposable this.blockHud = false; this.touchedHex = null; this.synched = false; + this.depth = 0; this.selectState = new StateSelect(); this.pathState = new StateMove(); @@ -341,6 +343,10 @@ public abstract class Ctrl implements Disposable public void setState(StateType nextState) { + depth += 1; + if (depth > 1) + RustAndDust.debug(String.format("***!!!*** STATE DEPTH : %d", depth)); + if (nextState == StateType.ABORT) nextState = abortAction(); else if (nextState == StateType.DONE) { @@ -355,6 +361,9 @@ public abstract class Ctrl implements Disposable hud.playerInfo.blockEndOfTurn(nextState != StateType.SELECT); + if (nextState == stateType) + RustAndDust.debug(String.format("***!!!*** STATE LOOP : %s", stateType)); + this.state.leaveFor(nextState); this.state = getNextState(nextState); @@ -366,6 +375,7 @@ public abstract class Ctrl implements Disposable if (nextState == StateType.TURN_OVER) turnDone(); + depth -= 1; } private StateType complete() |