From 88af47e269674b53a54a25313639ed76b57896e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Wed, 8 Oct 2014 11:18:02 +0200 Subject: Map: improve possible API --- core/src/ch/asynk/tankontank/game/Map.java | 80 +++++++++++++++--------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/core/src/ch/asynk/tankontank/game/Map.java b/core/src/ch/asynk/tankontank/game/Map.java index 1e0a654..8048576 100644 --- a/core/src/ch/asynk/tankontank/game/Map.java +++ b/core/src/ch/asynk/tankontank/game/Map.java @@ -38,7 +38,10 @@ public abstract class Map extends Board public void dispose() { super.dispose(); - clearPossibles(); + moveAssists.clear(); + clearPointSet(possiblePaths); + clearPointVector(possibleMoves); + clearPointVector(possibleTargets); clearCoordinateVector(finalPath); } @@ -85,9 +88,9 @@ public abstract class Map extends Board enableOverlayOn(hex, Hex.TARGET, enable); } - public void enablePossiblePaths(boolean enable, boolean keepMoves) + public void enablePossiblePaths(boolean enable, boolean keepFinal) { - if (keepMoves) { + if (keepFinal) { for(GridPoint2 hex : possiblePaths) enableOverlayOn(hex, Hex.MOVE1, enable); } else { @@ -98,22 +101,26 @@ public abstract class Map extends Board } } - public void buildPossibleMoves(Pawn pawn, GridPoint2 hex) + public int buildPossibleMoves(Pawn pawn, GridPoint2 hex) { buildPossibleMovesFrom(pawn, hex, possibleMoves); + return possibleMoves.size(); } - public void buildPossibleTargets(Pawn pawn, GridPoint2 hex) + public int buildPossibleTargets(Pawn pawn, GridPoint2 hex) { buildPossibleTargetsFrom(pawn, hex, possibleTargets); + return possibleTargets.size(); } - public void buildMoveAssists(Pawn pawn, GridPoint2 hex) + public int buildMoveAssists(Pawn pawn, GridPoint2 hex) { if (pawn.isHq()) { buildMoveAssists(pawn, hex, moveAssists); - } else + } else { moveAssists.clear(); + } + return moveAssists.size(); } public int possiblePathsSize() @@ -131,48 +138,18 @@ public abstract class Map extends Board return possiblePathsFilterToggle(hex, possiblePaths); } - public void movePawn(Pawn pawn, Orientation o) - { - int s = getCoordinatePath(pawn, finalPath, o); - if (s > 0) { - movePawn(pawn, finalPath, RunnableAnimation.get(pawn, new Runnable() { - @Override - public void run() { - ctrl.animationDone(); - } - })); - } - } - - public void rotatePawn(Pawn pawn, Orientation o) - { - rotatePawn(pawn, o, RunnableAnimation.get(pawn, new Runnable() { - @Override - public void run() { - ctrl.animationDone(); - } - })); - } - - public void hidePossibles() + public void clearPossiblePaths() { - enablePossibleTargets(false); - enablePossibleMoves(false); - enablePossiblePaths(false, false); + clearPointSet(possiblePaths); } - public void clearPossibles() + public void clearPossibleTargetsMovesAssists() { clearPointSet(possiblePaths); clearPointVector(possibleMoves); clearPointVector(possibleTargets); } - public void clearPossiblePaths() - { - clearPointSet(possiblePaths); - } - public void togglePathOverlay(GridPoint2 hex) { boolean enable= !isOverlayEnabledOn(hex, Hex.MOVE2); @@ -188,6 +165,29 @@ public abstract class Map extends Board enableDirections(dst, enable); } + public void movePawn(Pawn pawn, Orientation o) + { + int s = getCoordinatePath(pawn, finalPath, o); + if (s > 0) { + movePawn(pawn, finalPath, RunnableAnimation.get(pawn, new Runnable() { + @Override + public void run() { + ctrl.animationDone(); + } + })); + } + } + + public void rotatePawn(Pawn pawn, Orientation o) + { + rotatePawn(pawn, o, RunnableAnimation.get(pawn, new Runnable() { + @Override + public void run() { + ctrl.animationDone(); + } + })); + } + public void enableDirections(GridPoint2 hex, boolean enable) { enableOverlayOn(hex, Hex.DIRECTIONS, enable); -- cgit v1.1-2-g2b99