From 7db960a86c1c1d9ead95188ba86b467bfd56eee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Wed, 26 Nov 2014 23:45:00 +0100 Subject: Ctrl,Map: Map.animationsDone() returns the count of new animations to run, thus Ctrl might stay in ANIMATION --- core/src/ch/asynk/tankontank/game/Ctrl.java | 10 ++++++---- core/src/ch/asynk/tankontank/game/Map.java | 10 +++++++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/core/src/ch/asynk/tankontank/game/Ctrl.java b/core/src/ch/asynk/tankontank/game/Ctrl.java index a54deaf..cf08d3f 100644 --- a/core/src/ch/asynk/tankontank/game/Ctrl.java +++ b/core/src/ch/asynk/tankontank/game/Ctrl.java @@ -113,10 +113,12 @@ public class Ctrl implements Disposable { animationCount -= 1; if (animationCount == 0) { - map.animationsDone(); - StateType tmp = stateAfterAnimation; - stateAfterAnimation = StateType.DONE; - setState(tmp); + animationCount = map.animationsDone(); + if (animationCount == 0) { + StateType tmp = stateAfterAnimation; + stateAfterAnimation = StateType.DONE; + setState(tmp); + } } if (animationCount < 0) TankOnTank.debug(" animationCount < 0"); diff --git a/core/src/ch/asynk/tankontank/game/Map.java b/core/src/ch/asynk/tankontank/game/Map.java index 1209652..7d3cba3 100644 --- a/core/src/ch/asynk/tankontank/game/Map.java +++ b/core/src/ch/asynk/tankontank/game/Map.java @@ -188,12 +188,15 @@ public abstract class Map extends Board activatedUnits.clear(); } - public void animationsDone() + public int animationsDone() { ShotAnimation.resetAll(); - if (animationClosure != null) + if (animationClosure != null) { addAnimation(animationClosure); - animationClosure = null; + animationClosure = null; + return 1; + } + return 0; } // ACTIONS @@ -374,6 +377,7 @@ public abstract class Map extends Board public void run() { objectives.unclaim(target.getHex()); removePawn(target); + animationDone(); } }); } -- cgit v1.1-2-g2b99