summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/tankontank/engine
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2014-10-26 12:54:16 +0100
committerJérémy Zurcher <jeremy@asynk.ch>2014-10-26 12:54:16 +0100
commite6d8b15c87d0c23e0c8e5083bd2b78a8c6577a20 (patch)
tree73d9f9bd677f256d0aebadf5d9b7c47f0bcfb9f2 /core/src/ch/asynk/tankontank/engine
parent6cb55bb250d60e7c85bb0936f9eb3dfd5311a1bc (diff)
downloadRustAndDust-e6d8b15c87d0c23e0c8e5083bd2b78a8c6577a20.zip
RustAndDust-e6d8b15c87d0c23e0c8e5083bd2b78a8c6577a20.tar.gz
Board,Map: possiblePaths is a TileList too
Diffstat (limited to 'core/src/ch/asynk/tankontank/engine')
-rw-r--r--core/src/ch/asynk/tankontank/engine/Board.java21
1 files changed, 9 insertions, 12 deletions
diff --git a/core/src/ch/asynk/tankontank/engine/Board.java b/core/src/ch/asynk/tankontank/engine/Board.java
index 160b8c7..72adfce 100644
--- a/core/src/ch/asynk/tankontank/engine/Board.java
+++ b/core/src/ch/asynk/tankontank/engine/Board.java
@@ -316,35 +316,32 @@ public abstract class Board implements Disposable
points.clear();
}
- private int nodesToSet(List<ArrayList<SearchBoard.Node>> nodes, Set<GridPoint2> points)
+ private int nodesToSet(List<ArrayList<SearchBoard.Node>> nodes, TileList tiles)
{
- for (GridPoint2 point : points)
- gridPoint2Pool.free(point);
- points.clear();
+ tiles.clear();
for (ArrayList<SearchBoard.Node> path : nodes) {
for (int i = 1, n = (path.size() - 1); i < n; i++) {
SearchBoard.Node node = path.get(i);
- GridPoint2 point = gridPoint2Pool.obtain();
- point.set(node.col, node.row);
- if (!points.add(point))
- gridPoint2Pool.free(point);
+ Tile tile = getTile(node.col, node.row);
+ if (!tiles.contains(tile))
+ tiles.add(tile);
}
}
return nodes.size();
}
- protected int buildPossiblePaths(Pawn pawn, GridPoint2 from, GridPoint2 to, Set<GridPoint2> points)
+ protected int buildPossiblePaths(Pawn pawn, GridPoint2 from, GridPoint2 to, TileList tiles)
{
paths = searchBoard.possiblePaths(pawn, from.x, from.y, to.x, to.y);
- return nodesToSet(paths, points);
+ return nodesToSet(paths, tiles);
}
- protected int possiblePathsFilterToggle(GridPoint2 coords, Set<GridPoint2> points)
+ protected int possiblePathsFilterToggle(GridPoint2 coords, TileList tiles)
{
paths = searchBoard.possiblePathsFilterToggle(coords.x, coords.y);
- return nodesToSet(paths, points);
+ return nodesToSet(paths, tiles);
}
protected void clearCoordinateVector(ArrayList<Vector3> points)