From dba570673b67972cf36d35ae8cd8667e31ba974e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Wed, 12 Nov 2014 22:31:38 +0100 Subject: StateReinforcement: abort if no entry point found --- .../asynk/tankontank/game/states/StateReinforcement.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/core/src/ch/asynk/tankontank/game/states/StateReinforcement.java b/core/src/ch/asynk/tankontank/game/states/StateReinforcement.java index c8cb901..21f4768 100644 --- a/core/src/ch/asynk/tankontank/game/states/StateReinforcement.java +++ b/core/src/ch/asynk/tankontank/game/states/StateReinforcement.java @@ -24,6 +24,8 @@ public class StateReinforcement extends StateCommon @Override public void leave(StateType nextState) { + if (selectedHex != null) + map.unselectHex(selectedHex); if (entryPoint != null) entryPoint.enable(Hex.AREA, false); ctrl.hud.playerInfo.unitDock.hide(); @@ -74,10 +76,14 @@ public class StateReinforcement extends StateCommon map.selectHex(selectedHex); entryPoint.enable(Hex.AREA, false); ctrl.player.unitEntry(unit); - map.enterBoard(unit, upHex, entryPoint.allowedMoves); - if (unit.getMovementPoints() > 0) - ctrl.setState(StateType.MOVE, true); - else - ctrl.setState(StateType.ROTATE, true); + if (map.enterBoard(unit, upHex, entryPoint.allowedMoves)) { + if (unit.getMovementPoints() > 0) + ctrl.setState(StateType.MOVE, true); + else + ctrl.setState(StateType.ROTATE, true); + } else { + ctrl.hud.notify("Impossible to enter map at that position"); + abort(); + } } } -- cgit v1.1-2-g2b99