summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/tankontank/game/Map.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/ch/asynk/tankontank/game/Map.java')
-rw-r--r--core/src/ch/asynk/tankontank/game/Map.java28
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);