diff options
Diffstat (limited to 'core/src/ch/asynk/tankontank/game/Map.java')
-rw-r--r-- | core/src/ch/asynk/tankontank/game/Map.java | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/core/src/ch/asynk/tankontank/game/Map.java b/core/src/ch/asynk/tankontank/game/Map.java index 066de97..ca1fffd 100644 --- a/core/src/ch/asynk/tankontank/game/Map.java +++ b/core/src/ch/asynk/tankontank/game/Map.java @@ -293,15 +293,19 @@ public abstract class Map extends Board return true; } - public void exitBoard(Unit unit) + public int exitBoard(Unit unit) { - Hex hex = unit.getHex(); - if (unit.justEntered()) { - objectives.revert(); - unit.reset(); - } - removePawn(unit); - activatedUnits.add(unit); + // if (unit.justEntered()) { + // objectives.revert(); + // unit.reset(); + // } + + Move move = possiblePaths.getMove(); + move.setExit(); + + movePawn(unit, move, notifyDoneAnimation(unit), objectives); + + return startMove(unit); } public void promoteUnit(final Player player, final Unit unit) @@ -338,6 +342,14 @@ public abstract class Map extends Board objectives.revert(); } + public void revertEnter(Unit unit) + { + unit.reset(); + removePawn(unit); + objectives.revert(); + ctrl.player.revertUnitEntry(unit); + } + private int startMove(Unit unit) { moveableUnits.remove(unit); |