summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/src/ch/asynk/tankontank/game/GameCtrl.java30
1 files changed, 27 insertions, 3 deletions
diff --git a/core/src/ch/asynk/tankontank/game/GameCtrl.java b/core/src/ch/asynk/tankontank/game/GameCtrl.java
index 577aa02..3b60f05 100644
--- a/core/src/ch/asynk/tankontank/game/GameCtrl.java
+++ b/core/src/ch/asynk/tankontank/game/GameCtrl.java
@@ -1,27 +1,51 @@
package ch.asynk.tankontank.game;
-import ch.asynk.tankontank.game.Map;
+import com.badlogic.gdx.utils.Disposable;
+import ch.asynk.tankontank.TankOnTank;
import ch.asynk.tankontank.game.states.GameStateCommon;
import ch.asynk.tankontank.game.states.GameStateNone;
import ch.asynk.tankontank.game.states.GameStatePath;
import ch.asynk.tankontank.game.states.GameStateDirection;
-public class GameCtrl
+public class GameCtrl implements Disposable
{
+ private final TankOnTank game;
+
+ private GameFactory factory;
+ public Map map;
+ public Hud hud;
+
private GameState noneState;
private GameState pathState;
private GameState directionState ;
private GameState state;
- public GameCtrl(Map map)
+ public GameCtrl(final TankOnTank game)
{
+ this.game = game;
+
+ this.factory = new GameFactory(game.manager);
+ this.map = factory.getMap(game.manager, GameFactory.MapType.MAP_A);
+
+ this.hud = new Hud(game);
+
this.noneState = new GameStateNone(this, map);
this.pathState = new GameStatePath();
this.directionState = new GameStateDirection();
this.state = noneState;
+
+ factory.fakeSetup(map);
+ }
+
+ @Override
+ public void dispose()
+ {
+ hud.dispose();
+ map.dispose();
+ factory.dispose();
}
public void setState(GameState.State state, boolean forward)