From 8b6d67fb0e7b6e27955af30cc3e5545d94689e55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Mon, 6 Oct 2014 19:54:43 +0200 Subject: Hud: only accept buttons if not in Action --- core/src/ch/asynk/tankontank/game/GameCtrl.java | 5 +++++ core/src/ch/asynk/tankontank/game/Hud.java | 17 ++++++++++------- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/core/src/ch/asynk/tankontank/game/GameCtrl.java b/core/src/ch/asynk/tankontank/game/GameCtrl.java index d662f0a..1d7f92e 100644 --- a/core/src/ch/asynk/tankontank/game/GameCtrl.java +++ b/core/src/ch/asynk/tankontank/game/GameCtrl.java @@ -58,6 +58,11 @@ public class GameCtrl implements Disposable return (state != animationState); } + public boolean isInAction() + { + return (state != viewState); + } + public void animationDone() { hud.reset(); diff --git a/core/src/ch/asynk/tankontank/game/Hud.java b/core/src/ch/asynk/tankontank/game/Hud.java index e86bcbc..9297bde 100644 --- a/core/src/ch/asynk/tankontank/game/Hud.java +++ b/core/src/ch/asynk/tankontank/game/Hud.java @@ -180,13 +180,16 @@ public class Hud implements Disposable { if (!rect.contains(x,y)) return false; - if (moveAct.hit(x, y)) { - switchTo(GameState.State.MOVE); - } else if (rotateAct.hit(x, y)) { - switchTo(GameState.State.ROTATE); - } else if (attackAct.hit(x, y)) { - // switchTo(GameState.State.ATTACK); - } else if (cancelAct.hit(x, y)) { + if (!ctrl.isInAction()) { + if (moveAct.hit(x, y)) { + switchTo(GameState.State.MOVE); + } else if (rotateAct.hit(x, y)) { + switchTo(GameState.State.ROTATE); + } else if (attackAct.hit(x, y)) { + // switchTo(GameState.State.ATTACK); + } + } + if (cancelAct.hit(x, y)) { reset(); ctrl.abort(); } -- cgit v1.1-2-g2b99