From 1985315e60a7c9d83541daa47e602057d10d41e3 Mon Sep 17 00:00:00 2001 From: Jérémy Zurcher Date: Fri, 21 Nov 2014 17:08:10 +0100 Subject: Map,Board,Pawn: plug in objectives management --- core/src/ch/asynk/tankontank/game/Map.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'core/src/ch/asynk/tankontank/game') diff --git a/core/src/ch/asynk/tankontank/game/Map.java b/core/src/ch/asynk/tankontank/game/Map.java index bd04a700..dbf029e5 100644 --- a/core/src/ch/asynk/tankontank/game/Map.java +++ b/core/src/ch/asynk/tankontank/game/Map.java @@ -192,6 +192,7 @@ public abstract class Map extends Board public void actionDone() { + objectives.forget(); } public boolean enterBoard(Unit unit, Hex to, int allowedMoves) @@ -206,19 +207,22 @@ public abstract class Map extends Board { unit.enterBoard(to, entry); setPawnOnto(unit, to, entry); + objectives.claim(to, unit.getArmy()); return true; } public void leaveBoard(Unit unit) { - removePawn(unit); + Hex hex = unit.getHex(); + if (removePawn(unit) == 0) + objectives.unclaim(hex); activatedUnits.add(unit); } public int moveUnit(Unit unit, Orientation o) { possiblePaths.orientation = o; - movePawn(unit, possiblePaths, notifyDoneAnimation(unit)); + movePawn(unit, possiblePaths, notifyDoneAnimation(unit), objectives); return startMove(unit); } @@ -230,6 +234,7 @@ public abstract class Map extends Board revertLastPawnMove(unit, notifyDoneAnimation(unit)); } activatedUnits.clear(); + objectives.revert(); } private int startMove(Unit unit) -- cgit v1.2.3