diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-26 12:54:16 +0100 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-26 12:54:16 +0100 |
commit | e6d8b15c87d0c23e0c8e5083bd2b78a8c6577a20 (patch) | |
tree | 73d9f9bd677f256d0aebadf5d9b7c47f0bcfb9f2 /core/src/ch/asynk/tankontank/engine | |
parent | 6cb55bb250d60e7c85bb0936f9eb3dfd5311a1bc (diff) | |
download | RustAndDust-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.java | 21 |
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) |