summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/tankontank/engine
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2014-10-28 11:35:57 +0100
committerJérémy Zurcher <jeremy@asynk.ch>2014-10-28 11:35:57 +0100
commitdad7249b074500d717941e9daf0d52f60ac5395f (patch)
treed6404a447483919f70dddcc24fa3ec30277babef /core/src/ch/asynk/tankontank/engine
parent91a42e7e08b8aba942d6c306dbabd6db9543e83f (diff)
downloadRustAndDust-dad7249b074500d717941e9daf0d52f60ac5395f.zip
RustAndDust-dad7249b074500d717941e9daf0d52f60ac5395f.tar.gz
TileList: extends ArrayList<Tile>, has a default overlay index, has methods hide()/show()
Diffstat (limited to 'core/src/ch/asynk/tankontank/engine')
-rw-r--r--core/src/ch/asynk/tankontank/engine/TileList.java47
1 files changed, 14 insertions, 33 deletions
diff --git a/core/src/ch/asynk/tankontank/engine/TileList.java b/core/src/ch/asynk/tankontank/engine/TileList.java
index d8b4e7f..4f27057 100644
--- a/core/src/ch/asynk/tankontank/engine/TileList.java
+++ b/core/src/ch/asynk/tankontank/engine/TileList.java
@@ -3,68 +3,49 @@ package ch.asynk.tankontank.engine;
import java.util.List;
import java.util.ArrayList;
-public class TileList
+public class TileList extends ArrayList<Tile>
{
private final Board board;
- private final List<Tile> tiles;
+ private int overlay;
- public TileList(Board board, int n)
+ public TileList(Board board, int overlay, int n)
{
+ super(n);
this.board = board;
- this.tiles = new ArrayList<Tile>(n);
+ this.overlay = overlay;
}
public int fromNodes(List<SearchBoard.Node> nodes)
{
- tiles.clear();
+ clear();
for (SearchBoard.Node node : nodes) {
Tile tile = board.getTile(node.col, node.row);
- tiles.add(tile);
+ add(tile);
}
- return tiles.size();
+ return size();
}
- public int size()
+ public void show()
{
- return tiles.size();
+ enable(overlay, true);
}
- public void clear()
+ public void hide()
{
- tiles.clear();
- }
-
- public Tile get(int i)
- {
- return tiles.get(i);
- }
-
- public void add(Tile tile)
- {
- tiles.add(tile);
- }
-
- public boolean remove(Tile tile)
- {
- return tiles.remove(tile);
- }
-
- public boolean contains(Tile tile)
- {
- return tiles.contains(tile);
+ enable(overlay, false);
}
public void enable(int i, boolean enable)
{
- for (Tile tile : tiles)
+ for (Tile tile : this)
board.enableOverlayOn(tile, i, enable);
}
public void getPawns(List<Pawn> pawns)
{
pawns.clear();
- for (Tile tile : tiles)
+ for (Tile tile : this)
pawns.add(tile.getTopPawn());
}
}