diff options
Diffstat (limited to 'core/src/ch/asynk/tankontank/engine')
-rw-r--r-- | core/src/ch/asynk/tankontank/engine/Board.java | 2 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/engine/Move.java | 8 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/engine/Path.java | 33 |
3 files changed, 28 insertions, 15 deletions
diff --git a/core/src/ch/asynk/tankontank/engine/Board.java b/core/src/ch/asynk/tankontank/engine/Board.java index a097454..764fccd 100644 --- a/core/src/ch/asynk/tankontank/engine/Board.java +++ b/core/src/ch/asynk/tankontank/engine/Board.java @@ -131,6 +131,8 @@ public abstract class Board implements Disposable, Animation animations.clear(); if (selectedTile != null) selectedTile.dispose(); + Move.clearPool(); + Path.clearPool(); } public float getWidth() diff --git a/core/src/ch/asynk/tankontank/engine/Move.java b/core/src/ch/asynk/tankontank/engine/Move.java index 16a0860..2f0c138 100644 --- a/core/src/ch/asynk/tankontank/engine/Move.java +++ b/core/src/ch/asynk/tankontank/engine/Move.java @@ -15,7 +15,8 @@ public class Move extends Path implements Iterable<Vector3> EXIT; } - private static final Pool<Move> movePool = new Pool<Move>() { + private static final Pool<Move> movePool = new Pool<Move>() + { @Override protected Move newObject() { return new Move(); @@ -42,6 +43,11 @@ public class Move extends Path implements Iterable<Vector3> return m; } + public static void clearPool() + { + movePool.clear(); + } + public static Move getEnter(Pawn pawn, Tile to, Orientation orientation) { Move m = get(pawn, null, to, orientation, null); diff --git a/core/src/ch/asynk/tankontank/engine/Path.java b/core/src/ch/asynk/tankontank/engine/Path.java index 393a0a5..8ed7f8d 100644 --- a/core/src/ch/asynk/tankontank/engine/Path.java +++ b/core/src/ch/asynk/tankontank/engine/Path.java @@ -7,6 +7,25 @@ import com.badlogic.gdx.utils.Disposable; public class Path implements Disposable, Pool.Poolable { + private static final Pool<Path> pathPool = new Pool<Path>() { + @Override + protected Path newObject() { + return new Path(); + } + }; + + public static Path get(int size) + { + Path p = pathPool.obtain(); + p.init(size); + return p; + } + + public static void clearPool() + { + pathPool.clear(); + } + public int cost; public boolean roadMarch; public ArrayList<Tile> tiles; @@ -40,18 +59,4 @@ public class Path implements Disposable, Pool.Poolable tiles.clear(); pathPool.free(this); } - - private static final Pool<Path> pathPool = new Pool<Path>() { - @Override - protected Path newObject() { - return new Path(); - } - }; - - public static Path get(int size) - { - Path p = pathPool.obtain(); - p.init(size); - return p; - } } |