diff options
Diffstat (limited to 'core/src')
-rw-r--r-- | core/src/ch/asynk/rustanddust/engine/Board.java | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/core/src/ch/asynk/rustanddust/engine/Board.java b/core/src/ch/asynk/rustanddust/engine/Board.java index d1eecc9..740d71b 100644 --- a/core/src/ch/asynk/rustanddust/engine/Board.java +++ b/core/src/ch/asynk/rustanddust/engine/Board.java @@ -2,7 +2,6 @@ package ch.asynk.rustanddust.engine; import java.util.Iterator; import java.util.Collection; -import java.util.LinkedHashSet; import com.badlogic.gdx.Gdx; @@ -62,7 +61,7 @@ public abstract class Board implements Disposable, Animation private int animationCount = 0; private final ArrayListIt<Animation> animations = new ArrayListIt<Animation>(10); private final ArrayListIt<Animation> nextAnimations = new ArrayListIt<Animation>(10); - private final LinkedHashSet<Tile> tilesToDraw = new LinkedHashSet<Tile>(); + private final ArrayListIt<Tile> tilesToDraw = new ArrayListIt<Tile>(); protected SelectedTile selectedTile; @@ -283,9 +282,8 @@ public abstract class Board implements Disposable, Animation batch.setTransformMatrix(nextTransform); } - Iterator<Tile> tileIter = tilesToDraw.iterator(); - while (tileIter.hasNext()) - tileIter.next().draw(batch); + for (Tile tile : tilesToDraw) + tile.draw(batch); for (Animation a : animations) a.draw(batch); @@ -304,9 +302,8 @@ public abstract class Board implements Disposable, Animation debugShapes.setTransformMatrix(nextTransform); } - Iterator<Tile> iter = tilesToDraw.iterator(); - while (iter.hasNext()) - iter.next().drawDebug(debugShapes); + for (Tile tile : tilesToDraw) + tile.drawDebug(debugShapes); for (Animation a : animations) a.drawDebug(debugShapes); @@ -343,9 +340,7 @@ public abstract class Board implements Disposable, Animation for (int i = 0; i < 6; i++) { Tile tile = neighbours[i]; if (tile != null) { - Iterator<Pawn> pawns = tile.iterator(); - while (pawns.hasNext()) { - Pawn p = pawns.next(); + for (Pawn p : tile) { if (!pawn.isEnemy(p) && p.canMove()) assists.add(p); } @@ -409,7 +404,7 @@ public abstract class Board implements Disposable, Animation if (tile.isObjective()) { tile.enableOverlay(o, false); tile.enableOverlay(moveable.getFaction().overlay(), true); - tilesToDraw.add(tile); + tilesToDraw.addUnique(tile); } } } @@ -420,7 +415,7 @@ public abstract class Board implements Disposable, Animation if (tile.isObjective()) { tile.enableOverlay(moveable.getFaction().overlay(), false); tile.enableOverlay(tile.belongsTo().overlay(), true); - tilesToDraw.add(tile); + tilesToDraw.addUnique(tile); } } } @@ -435,7 +430,7 @@ public abstract class Board implements Disposable, Animation public void enableOverlayOn(Tile tile, int i, boolean enable) { if (tile.enableOverlay(i, enable)) - tilesToDraw.add(tile); + tilesToDraw.addUnique(tile); else tilesToDraw.remove(tile); } @@ -443,7 +438,7 @@ public abstract class Board implements Disposable, Animation public void enableOverlayOn(Tile tile, int i, Orientation o, boolean enable) { if (tile.enableOverlay(i, enable, o.r())) - tilesToDraw.add(tile); + tilesToDraw.addUnique(tile); else tilesToDraw.remove(tile); } @@ -451,7 +446,7 @@ public abstract class Board implements Disposable, Animation private int pushPawnOnto(Pawn pawn, Tile tile) { if (!tile.isOffMap()) - tilesToDraw.add(tile); + tilesToDraw.addUnique(tile); return tile.push(pawn); } |