diff options
Diffstat (limited to 'core')
| -rw-r--r-- | core/src/ch/asynk/rustanddust/engine/Board.java | 13 | ||||
| -rw-r--r-- | core/src/ch/asynk/rustanddust/engine/PathBuilder.java | 22 | ||||
| -rw-r--r-- | core/src/ch/asynk/rustanddust/engine/SearchBoard.java | 14 | ||||
| -rw-r--r-- | core/src/ch/asynk/rustanddust/engine/Tile.java | 9 | ||||
| -rw-r--r-- | core/src/ch/asynk/rustanddust/engine/TileSet.java | 12 | 
5 files changed, 33 insertions, 37 deletions
| diff --git a/core/src/ch/asynk/rustanddust/engine/Board.java b/core/src/ch/asynk/rustanddust/engine/Board.java index 119e850..9441dac 100644 --- a/core/src/ch/asynk/rustanddust/engine/Board.java +++ b/core/src/ch/asynk/rustanddust/engine/Board.java @@ -15,6 +15,7 @@ import com.badlogic.gdx.graphics.glutils.ShapeRenderer;  import com.badlogic.gdx.math.Matrix4;  import ch.asynk.rustanddust.engine.util.IterableArray; +import ch.asynk.rustanddust.engine.util.IterableSet;  import ch.asynk.rustanddust.engine.gfx.Moveable;  import ch.asynk.rustanddust.engine.gfx.Animation;  import ch.asynk.rustanddust.engine.gfx.animations.AnimationSequence; @@ -61,7 +62,7 @@ public abstract class Board implements Disposable, Animation      private int animationCount = 0;      private final IterableArray<Animation> animations = new IterableArray<Animation>(10);      private final IterableArray<Animation> nextAnimations = new IterableArray<Animation>(10); -    private final IterableArray<Tile> tilesToDraw = new IterableArray<Tile>(20); +    private final IterableSet<Tile> tilesToDraw = new IterableSet<Tile>(20);      protected SelectedTile selectedTile; @@ -404,7 +405,7 @@ public abstract class Board implements Disposable, Animation              if (tile.isObjective()) {                  tile.enableOverlay(o, false);                  tile.enableOverlay(moveable.getFaction().overlay(), true); -                tilesToDraw.addUnique(tile); +                tilesToDraw.add(tile);              }          }      } @@ -415,7 +416,7 @@ public abstract class Board implements Disposable, Animation              if (tile.isObjective()) {                  tile.enableOverlay(moveable.getFaction().overlay(), false);                  tile.enableOverlay(tile.belongsTo().overlay(), true); -                tilesToDraw.addUnique(tile); +                tilesToDraw.add(tile);              }          }      } @@ -430,7 +431,7 @@ public abstract class Board implements Disposable, Animation      public void enableOverlayOn(Tile tile, int i, boolean enable)      {          if (tile.enableOverlay(i, enable)) -            tilesToDraw.addUnique(tile); +            tilesToDraw.add(tile);          else              tilesToDraw.remove(tile);      } @@ -438,7 +439,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.addUnique(tile); +            tilesToDraw.add(tile);          else              tilesToDraw.remove(tile);      } @@ -446,7 +447,7 @@ public abstract class Board implements Disposable, Animation      private int pushPawnOnto(Pawn pawn, Tile tile)      {          if (!tile.isOffMap()) -            tilesToDraw.addUnique(tile); +            tilesToDraw.add(tile);          return tile.push(pawn);      } diff --git a/core/src/ch/asynk/rustanddust/engine/PathBuilder.java b/core/src/ch/asynk/rustanddust/engine/PathBuilder.java index d5c79d9..ecc7634 100644 --- a/core/src/ch/asynk/rustanddust/engine/PathBuilder.java +++ b/core/src/ch/asynk/rustanddust/engine/PathBuilder.java @@ -5,6 +5,8 @@ import java.util.List;  import com.badlogic.gdx.utils.Disposable;  import ch.asynk.rustanddust.engine.util.IterableArray; +import ch.asynk.rustanddust.engine.util.IterableStack; +import ch.asynk.rustanddust.engine.util.IterableSet;  public class PathBuilder implements Disposable  { @@ -15,17 +17,17 @@ public class PathBuilder implements Disposable      public Tile to;      public int distance;      public Orientation orientation; -    private List<Tile> stack; +    private IterableStack<Tile> stack;      private List<Tile> ctrlTiles;      private List<Path> paths;      private List<Path> filteredPaths; -    private IterableArray<Tile> tiles; +    private IterableSet<Tile> tiles;      public PathBuilder(Board board, int tSize, int stSize, int ftSize, int psSize)      {          this.board = board; -        this.tiles = new IterableArray<Tile>(tSize); -        this.stack = new IterableArray<Tile>(stSize); +        this.tiles = new IterableSet<Tile>(tSize); +        this.stack = new IterableStack<Tile>(stSize);          this.ctrlTiles = new IterableArray<Tile>(ftSize);          this.paths = new IterableArray<Path>(psSize);          this.filteredPaths = new IterableArray<Path>(psSize); @@ -194,7 +196,7 @@ public class PathBuilder implements Disposable          clearPaths();          paths.add(path);          for (Tile tile : path.tiles) -            tiles.addUnique(tile); +            tiles.add(tile);      }      private void findAllPaths(Tile from, int mvtLeft, int fitness, boolean roadMarch) @@ -217,7 +219,7 @@ public class PathBuilder implements Disposable                  Path path = Path.get(stack.size() + 1);                  for (Tile t: stack) {                      path.tiles.add(t); -                    tiles.addUnique(t); +                    tiles.add(t);                  }                  path.roadMarch = r;                  path.fitness = f; @@ -226,9 +228,9 @@ public class PathBuilder implements Disposable              }              if (l >= board.distance(next, to)) { -                stack.add(next); +                stack.push(next);                  findAllPaths(next, m, f, r); -                stack.remove(stack.size() - 1); +                stack.pop();              }          }      } @@ -259,11 +261,11 @@ public class PathBuilder implements Disposable                      filteredPaths.clear();                      filteredPaths.add(path);                      tiles.clear(); -                    for (Tile tile : path.tiles) tiles.addUnique(tile); +                    for (Tile tile : path.tiles) tiles.add(tile);                      break;                  } else {                      filteredPaths.add(path); -                    for (Tile tile : path.tiles) tiles.addUnique(tile); +                    for (Tile tile : path.tiles) tiles.add(tile);                  }              }          } diff --git a/core/src/ch/asynk/rustanddust/engine/SearchBoard.java b/core/src/ch/asynk/rustanddust/engine/SearchBoard.java index 7fd2ef6..583cee6 100644 --- a/core/src/ch/asynk/rustanddust/engine/SearchBoard.java +++ b/core/src/ch/asynk/rustanddust/engine/SearchBoard.java @@ -4,6 +4,8 @@ import java.util.List;  import java.util.Collection;  import ch.asynk.rustanddust.engine.util.IterableArray; +import ch.asynk.rustanddust.engine.util.IterableStack; +import ch.asynk.rustanddust.engine.util.IterableQueue;  public class SearchBoard  { @@ -35,9 +37,9 @@ public class SearchBoard      private int searchCount;      private Node nodes[]; -    private IterableArray<Node> stack; -    private IterableArray<Node> queue; -    private IterableArray<Node> roadMarch; +    private IterableStack<Node> stack; +    private IterableQueue<Node> queue; +    private IterableStack<Node> roadMarch;      private IterableArray<Node> los;      private boolean losBlocked; @@ -55,9 +57,9 @@ public class SearchBoard                  nodes[i + (j * cols)] = new Node((i + dx), j);          } -        this.queue = new IterableArray<Node>(30); -        this.stack = new IterableArray<Node>(20); -        this.roadMarch = new IterableArray<Node>(5); +        this.queue = new IterableQueue<Node>(30); +        this.stack = new IterableStack<Node>(20); +        this.roadMarch = new IterableStack<Node>(5);          this.los = new IterableArray<Node>(10);      } diff --git a/core/src/ch/asynk/rustanddust/engine/Tile.java b/core/src/ch/asynk/rustanddust/engine/Tile.java index 20d8fd7..0fc3b10 100644 --- a/core/src/ch/asynk/rustanddust/engine/Tile.java +++ b/core/src/ch/asynk/rustanddust/engine/Tile.java @@ -8,7 +8,7 @@ import com.badlogic.gdx.graphics.g2d.Batch;  import com.badlogic.gdx.graphics.g2d.TextureAtlas;  import com.badlogic.gdx.graphics.glutils.ShapeRenderer; -import ch.asynk.rustanddust.engine.util.IterableArray; +import ch.asynk.rustanddust.engine.util.IterableStack;  import ch.asynk.rustanddust.engine.gfx.Drawable;  import ch.asynk.rustanddust.engine.gfx.StackedImages; @@ -31,7 +31,7 @@ public abstract class Tile implements Drawable, Disposable, Iterable<Pawn>      protected float x;      protected float y;      private StackedImages overlays; -    private IterableArray<Pawn> stack; +    private IterableStack<Pawn> stack;      protected Faction curFaction;      protected Faction prevFaction; @@ -51,7 +51,7 @@ public abstract class Tile implements Drawable, Disposable, Iterable<Pawn>      {          this.col = col;          this.row = row; -        this.stack = new IterableArray<Pawn>(capacity); +        this.stack = new IterableStack<Pawn>(capacity);          this.curFaction = defaultFaction;          this.prevFaction = defaultFaction;          this.objective = Objective.NONE; @@ -117,8 +117,7 @@ public abstract class Tile implements Drawable, Disposable, Iterable<Pawn>      protected Pawn getTopPawn()      { -        if (isEmpty()) return null; -        return stack.get(stack.size() - 1); +        return stack.getTop();      }      public boolean hasUnits() diff --git a/core/src/ch/asynk/rustanddust/engine/TileSet.java b/core/src/ch/asynk/rustanddust/engine/TileSet.java index 233232e..2d8d750 100644 --- a/core/src/ch/asynk/rustanddust/engine/TileSet.java +++ b/core/src/ch/asynk/rustanddust/engine/TileSet.java @@ -1,8 +1,8 @@  package ch.asynk.rustanddust.engine; -import ch.asynk.rustanddust.engine.util.IterableArray; +import ch.asynk.rustanddust.engine.util.IterableSet; -public class TileSet extends IterableArray<Tile> +public class TileSet extends IterableSet<Tile>  {      private final Board board; @@ -17,12 +17,4 @@ public class TileSet extends IterableArray<Tile>          for (Tile tile : this)              board.enableOverlayOn(tile, i, enable);      } - -    @Override -    public boolean add(Tile tile) -    { -        if (contains(tile)) return false; -        super.add(tile); -        return true; -    }  } | 
