summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/tankontank/engine
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/ch/asynk/tankontank/engine')
-rw-r--r--core/src/ch/asynk/tankontank/engine/Board.java2
-rw-r--r--core/src/ch/asynk/tankontank/engine/Move.java8
-rw-r--r--core/src/ch/asynk/tankontank/engine/Path.java33
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;
- }
}