diff options
Diffstat (limited to 'core/src/ch/asynk/tankontank/game/states')
8 files changed, 26 insertions, 22 deletions
diff --git a/core/src/ch/asynk/tankontank/game/states/StateAttack.java b/core/src/ch/asynk/tankontank/game/states/StateAttack.java index 80c240b..e2ed73e 100644 --- a/core/src/ch/asynk/tankontank/game/states/StateAttack.java +++ b/core/src/ch/asynk/tankontank/game/states/StateAttack.java @@ -1,6 +1,7 @@ package ch.asynk.tankontank.game.states; import ch.asynk.tankontank.game.Unit; +import ch.asynk.tankontank.game.hud.ActionButtons.Buttons; import ch.asynk.tankontank.TankOnTank; @@ -10,8 +11,8 @@ public class StateAttack extends StateCommon public void enter(boolean fromSelect) { map.possibleTargets.clear(); - ctrl.hud.show(false, false, false, true, false, ctrl.cfg.canCancel); - ctrl.hud.attackBtn.setOn(); + ctrl.hud.actionButtons.show(Buttons.ATTACK.b | ((ctrl.cfg.canCancel) ? Buttons.ABORT.b : 0)); + ctrl.hud.actionButtons.setOn(Buttons.ATTACK); // activeUnit is the target if (fromSelect) { @@ -61,7 +62,7 @@ public class StateAttack extends StateCommon activeUnit.showTarget(); map.collectAttackAssists(selectedUnit, activeUnit, ctrl.player.unitIterator()); map.showAttackAssists(); - ctrl.hud.show(false, false, false, true, true, ctrl.cfg.canCancel); + ctrl.hud.actionButtons.show(Buttons.ATTACK.b | Buttons.DONE.b | ((ctrl.cfg.canCancel) ? Buttons.ABORT.b : 0)); } if ((activeUnit != null) && map.attackAssists.contains(unit)) { diff --git a/core/src/ch/asynk/tankontank/game/states/StateBreak.java b/core/src/ch/asynk/tankontank/game/states/StateBreak.java index fa3023f..be7f460 100644 --- a/core/src/ch/asynk/tankontank/game/states/StateBreak.java +++ b/core/src/ch/asynk/tankontank/game/states/StateBreak.java @@ -2,6 +2,7 @@ package ch.asynk.tankontank.game.states; import ch.asynk.tankontank.engine.Orientation; import ch.asynk.tankontank.game.Unit; +import ch.asynk.tankontank.game.hud.ActionButtons.Buttons; import ch.asynk.tankontank.TankOnTank; @@ -15,7 +16,7 @@ public class StateBreak extends StateCommon { done = false; activeUnit = null; - ctrl.hud.show(false, false, false, false, true, false); + ctrl.hud.actionButtons.show(Buttons.DONE.b); map.showBreakPawns(); } @@ -54,7 +55,7 @@ public class StateBreak extends StateCommon if (ctrl.cfg.mustValidate) { map.hideDirections(to); map.showOrientation(to, o); - ctrl.hud.show(false, false, false, false, true, false); + ctrl.hud.actionButtons.show(Buttons.DONE.b); } else doRotation(o); } diff --git a/core/src/ch/asynk/tankontank/game/states/StateCommon.java b/core/src/ch/asynk/tankontank/game/states/StateCommon.java index 9bf6ac7..314801b 100644 --- a/core/src/ch/asynk/tankontank/game/states/StateCommon.java +++ b/core/src/ch/asynk/tankontank/game/states/StateCommon.java @@ -68,7 +68,7 @@ public abstract class StateCommon implements State private void goToNextState() { - ctrl.hud.hide(); + ctrl.hud.actionButtons.hide(); StateType next = nextState; nextState = StateType.SELECT; ctrl.setState(next, (next == StateType.SELECT)); diff --git a/core/src/ch/asynk/tankontank/game/states/StateEntry.java b/core/src/ch/asynk/tankontank/game/states/StateEntry.java index dc4acc9..d166a69 100644 --- a/core/src/ch/asynk/tankontank/game/states/StateEntry.java +++ b/core/src/ch/asynk/tankontank/game/states/StateEntry.java @@ -5,6 +5,7 @@ import com.badlogic.gdx.math.Vector3; import ch.asynk.tankontank.engine.TileSet; import ch.asynk.tankontank.engine.Orientation; import ch.asynk.tankontank.game.Hex; +import ch.asynk.tankontank.game.hud.ActionButtons.Buttons; public class StateEntry extends StateCommon { @@ -19,7 +20,7 @@ public class StateEntry extends StateCommon activeUnit = ctrl.hud.getDockUnit(); entryPoint = ctrl.battle.getEntryPoint(activeUnit); entryPoint.enable(Hex.AREA, true); - ctrl.hud.show(false, false, false, false, false, ctrl.cfg.canCancel); + ctrl.hud.actionButtons.show(((ctrl.cfg.canCancel) ? Buttons.ABORT.b : 0)); x = activeUnit.getPosition().x; y = activeUnit.getPosition().x; z = activeUnit.getPosition().y; diff --git a/core/src/ch/asynk/tankontank/game/states/StateMove.java b/core/src/ch/asynk/tankontank/game/states/StateMove.java index 657c9bd..2f672c9 100644 --- a/core/src/ch/asynk/tankontank/game/states/StateMove.java +++ b/core/src/ch/asynk/tankontank/game/states/StateMove.java @@ -2,6 +2,7 @@ package ch.asynk.tankontank.game.states; import ch.asynk.tankontank.game.Hex; import ch.asynk.tankontank.game.Unit; +import ch.asynk.tankontank.game.hud.ActionButtons.Buttons; public class StateMove extends StateCommon { @@ -9,8 +10,8 @@ public class StateMove extends StateCommon public void enter(boolean fromSelect) { boolean moreThanOne = ((map.moveablePawns.size() + map.activatedPawns.size()) > 1); - ctrl.hud.show(false, true, true, false, moreThanOne, ctrl.cfg.canCancel); - ctrl.hud.moveBtn.setOn(); + ctrl.hud.actionButtons.show(Buttons.ROTATE.b | Buttons.MOVE.b | ((moreThanOne) ? Buttons.DONE.b : 0) | ((ctrl.cfg.canCancel) ? Buttons.ABORT.b : 0)); + ctrl.hud.actionButtons.setOn(Buttons.MOVE); map.possiblePaths.clear(); if (fromSelect) { diff --git a/core/src/ch/asynk/tankontank/game/states/StatePromote.java b/core/src/ch/asynk/tankontank/game/states/StatePromote.java index 28fe2b5..6366d74 100644 --- a/core/src/ch/asynk/tankontank/game/states/StatePromote.java +++ b/core/src/ch/asynk/tankontank/game/states/StatePromote.java @@ -7,7 +7,7 @@ public class StatePromote extends StateCommon @Override public void enter(boolean flag) { - ctrl.hud.hide(); + ctrl.hud.actionButtons.hide(); Unit unit = ctrl.player.promote(selectedUnit); if (unit != null) { ctrl.hud.notify(unit + " has been promoted"); diff --git a/core/src/ch/asynk/tankontank/game/states/StateRotate.java b/core/src/ch/asynk/tankontank/game/states/StateRotate.java index b35a856..a5547f9 100644 --- a/core/src/ch/asynk/tankontank/game/states/StateRotate.java +++ b/core/src/ch/asynk/tankontank/game/states/StateRotate.java @@ -1,6 +1,7 @@ package ch.asynk.tankontank.game.states; import ch.asynk.tankontank.engine.Orientation; +import ch.asynk.tankontank.game.hud.ActionButtons.Buttons; import ch.asynk.tankontank.TankOnTank; @@ -15,8 +16,8 @@ public class StateRotate extends StateCommon { this.rotateOnly = rotateOnly; - ctrl.hud.show(false, true, false, false, false, ctrl.cfg.canCancel); - ctrl.hud.rotateBtn.setOn(); + ctrl.hud.actionButtons.show(Buttons.ROTATE.b | ((ctrl.cfg.canCancel) ? Buttons.ABORT.b : 0)); + ctrl.hud.actionButtons.setOn(Buttons.ROTATE); if (rotateOnly) { // rotateBtn from Select state @@ -64,7 +65,7 @@ public class StateRotate extends StateCommon if (ctrl.cfg.mustValidate) { map.hideDirections(to); map.showOrientation(to, o); - ctrl.hud.show(false, true, false, false, true, ctrl.cfg.canCancel); + ctrl.hud.actionButtons.show(Buttons.ROTATE.b | Buttons.DONE.b | ((ctrl.cfg.canCancel) ? Buttons.ABORT.b : 0)); } else doRotation(o); } @@ -72,7 +73,7 @@ public class StateRotate extends StateCommon @Override public void abort() { - ctrl.hud.hide(); + ctrl.hud.actionButtons.hide(); if (activeUnit.move.entryMove) { map.leaveBoard(activeUnit); ctrl.player.revertUnitEntry(activeUnit); diff --git a/core/src/ch/asynk/tankontank/game/states/StateSelect.java b/core/src/ch/asynk/tankontank/game/states/StateSelect.java index 9d07c6a..19dbc73 100644 --- a/core/src/ch/asynk/tankontank/game/states/StateSelect.java +++ b/core/src/ch/asynk/tankontank/game/states/StateSelect.java @@ -2,6 +2,7 @@ package ch.asynk.tankontank.game.states; import ch.asynk.tankontank.game.Map; import ch.asynk.tankontank.game.Ctrl; +import ch.asynk.tankontank.game.hud.ActionButtons.Buttons; public class StateSelect extends StateCommon { @@ -62,16 +63,14 @@ public class StateSelect extends StateCommon if (moves > 0) map.collectMoveablePawns(selectedUnit); showPossibleTargetsMovesAssists(selectedUnit); - ctrl.hud.show( - ctrl.player.canPromote(selectedUnit), - selectedUnit.canMove(), - (moves > 0), - (targets > 0), - false, - false + ctrl.hud.actionButtons.show( + ((ctrl.player.canPromote(selectedUnit)) ? Buttons.PROMOTE.b : 0 ) | + ((selectedUnit.canMove()) ? Buttons.ROTATE.b : 0 ) | + ((moves > 0) ? Buttons.MOVE.b : 0 ) | + ((targets > 0) ? Buttons.ATTACK.b : 0) ); } else { - ctrl.hud.hide(); + ctrl.hud.actionButtons.hide(); map.clearAll(); } if (selectedUnit != null) ctrl.hud.notify(selectedUnit.toString()); |