summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/src/ch/asynk/tankontank/game/states/StateBreak.java13
1 files changed, 6 insertions, 7 deletions
diff --git a/core/src/ch/asynk/tankontank/game/states/StateBreak.java b/core/src/ch/asynk/tankontank/game/states/StateBreak.java
index a64a494..479f5ae 100644
--- a/core/src/ch/asynk/tankontank/game/states/StateBreak.java
+++ b/core/src/ch/asynk/tankontank/game/states/StateBreak.java
@@ -8,15 +8,14 @@ import ch.asynk.tankontank.TankOnTank;
public class StateBreak extends StateCommon
{
- private boolean done;
private Orientation o = Orientation.KEEP;
@Override
public void enter(StateType prevState)
{
- done = false;
activeUnit = null;
ctrl.hud.actionButtons.show(Buttons.DONE.b);
+ ctrl.hud.pushNotify("Break move possible");
map.showBreakPawns();
}
@@ -39,7 +38,6 @@ public class StateBreak extends StateCommon
@Override
public StateType done()
{
- doRotation(o);
return StateType.DONE;
}
@@ -69,22 +67,23 @@ public class StateBreak extends StateCommon
map.hideDirections(to);
map.showOrientation(to, o);
ctrl.hud.actionButtons.show(Buttons.DONE.b);
- } else
+ } else {
doRotation(o);
+ ctrl.setState(StateType.ANIMATION);
+ }
}
}
private void doRotation(Orientation o)
{
- if (done || (activeUnit == null)) return;
- done = true;
+ if (activeUnit == null) return;
map.possiblePaths.init(activeUnit);
if (map.possiblePaths.build(to) == 1) {
map.possiblePaths.orientation = o;
map.movePawn(activeUnit, o);
ctrl.setAnimationCount(1);
- ctrl.setState(StateType.ANIMATION);
+ ctrl.setAfterAnimationState(StateType.DONE);
} else
TankOnTank.debug("That's very wrong there should be only one path");
}