summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/tankontank/game/Hud.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/ch/asynk/tankontank/game/Hud.java')
-rw-r--r--core/src/ch/asynk/tankontank/game/Hud.java12
1 files changed, 11 insertions, 1 deletions
diff --git a/core/src/ch/asynk/tankontank/game/Hud.java b/core/src/ch/asynk/tankontank/game/Hud.java
index c9e47ab..866c6a1 100644
--- a/core/src/ch/asynk/tankontank/game/Hud.java
+++ b/core/src/ch/asynk/tankontank/game/Hud.java
@@ -73,6 +73,7 @@ class ActionBtn implements Disposable
public class Hud implements Disposable
{
private final TankOnTank game;
+ private final GameCtrl ctrl;
private ActionBtn flagAct;
private ActionBtn moveAct;
@@ -83,9 +84,10 @@ public class Hud implements Disposable
private Rectangle rect;
private float elapsed;
- public Hud(final TankOnTank game)
+ public Hud(final TankOnTank game, final GameCtrl ctrl)
{
this.game = game;
+ this.ctrl = ctrl;
TextureAtlas atlas = game.manager.get("data/assets.atlas", TextureAtlas.class);
@@ -140,6 +142,7 @@ public class Hud implements Disposable
if (!rect.contains(x,y)) return false;
if (cancelAct.hit(x, y)) {
+ ctrl.abort();
cancelAct.toggle();
}
@@ -152,11 +155,18 @@ public class Hud implements Disposable
if (moveAct.hit(x, y)) {
moveAct.setOn();
+ ctrl.setState(GameState.State.MOVE, false);
} else if (rotateAct.hit(x, y)) {
rotateAct.setOn();
+ ctrl.setState(GameState.State.ROTATE, false);
} else if (attackAct.hit(x, y)) {
attackAct.setOn();
+ ctrl.setState(GameState.State.ATTACK, false);
} else if (cancelAct.hit(x, y)) {
+ ctrl.abort();
+ moveAct.setOff();
+ rotateAct.setOff();
+ attackAct.setOff();
cancelAct.toggle();
}