summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/src/ch/asynk/rustanddust/game/Battle.java4
-rw-r--r--core/src/ch/asynk/rustanddust/game/Ctrl.java27
-rw-r--r--core/src/ch/asynk/rustanddust/game/battles/BattleCommon.java26
-rw-r--r--core/src/ch/asynk/rustanddust/game/ctrl/Solo.java8
4 files changed, 32 insertions, 33 deletions
diff --git a/core/src/ch/asynk/rustanddust/game/Battle.java b/core/src/ch/asynk/rustanddust/game/Battle.java
index eb5b086..f2d874b 100644
--- a/core/src/ch/asynk/rustanddust/game/Battle.java
+++ b/core/src/ch/asynk/rustanddust/game/Battle.java
@@ -39,8 +39,4 @@ public interface Battle extends Marshal
public boolean hasReinforcement();
public State.StateType getState();
-
- public String unload(Marshal.Mode mode);
-
- public void load(Marshal.Mode mode, String payload);
}
diff --git a/core/src/ch/asynk/rustanddust/game/Ctrl.java b/core/src/ch/asynk/rustanddust/game/Ctrl.java
index 96dffa9..53cc970 100644
--- a/core/src/ch/asynk/rustanddust/game/Ctrl.java
+++ b/core/src/ch/asynk/rustanddust/game/Ctrl.java
@@ -1,9 +1,16 @@
package ch.asynk.rustanddust.game;
+import java.io.StringWriter;
+
import com.badlogic.gdx.utils.Disposable;
+import com.badlogic.gdx.utils.Json;
+import com.badlogic.gdx.utils.JsonValue;
+import com.badlogic.gdx.utils.JsonReader;
+import com.badlogic.gdx.utils.JsonWriter.OutputType;
import ch.asynk.rustanddust.RustAndDust;
import ch.asynk.rustanddust.ui.Position;
+import ch.asynk.rustanddust.util.Marshal;
import ch.asynk.rustanddust.game.ctrl.Solo;
import ch.asynk.rustanddust.game.State.StateType;
import ch.asynk.rustanddust.game.states.StateCommon;
@@ -23,6 +30,8 @@ public abstract class Ctrl implements Disposable
public final RustAndDust game;
public final Battle battle;
+ private final static StringWriter writer = new StringWriter(2048);
+
public Map map;
public Hud hud;
public boolean blockMap;
@@ -107,11 +116,29 @@ public abstract class Ctrl implements Disposable
battle.desinit();
}
+ // JSON
+
public boolean isLoading()
{
return (stateType == StateType.LOADING);
}
+ public void load(Marshal.Mode mode, String payload)
+ {
+ JsonValue root = new JsonReader().parse(payload);
+ battle.load(mode, root);
+ }
+
+ public String unload(Marshal.Mode mode)
+ {
+ Json json = new Json(OutputType.json);
+ writer.getBuffer().setLength(0);
+ json.setWriter(writer);
+ battle.unload(mode, json);
+ writer.flush();
+ return writer.toString();
+ }
+
// INPUTS
public boolean drag(float x, float y, int dx, int dy)
diff --git a/core/src/ch/asynk/rustanddust/game/battles/BattleCommon.java b/core/src/ch/asynk/rustanddust/game/battles/BattleCommon.java
index 968c657..eef5cc7 100644
--- a/core/src/ch/asynk/rustanddust/game/battles/BattleCommon.java
+++ b/core/src/ch/asynk/rustanddust/game/battles/BattleCommon.java
@@ -1,12 +1,9 @@
package ch.asynk.rustanddust.game.battles;
import java.util.Random;
-import java.io.StringWriter;
import com.badlogic.gdx.utils.Json;
import com.badlogic.gdx.utils.JsonValue;
-import com.badlogic.gdx.utils.JsonReader;
-import com.badlogic.gdx.utils.JsonWriter.OutputType;
import ch.asynk.rustanddust.util.Marshal;
import ch.asynk.rustanddust.game.Battle;
@@ -25,8 +22,6 @@ public abstract class BattleCommon implements Battle
{
protected final static Random random = new Random(System.currentTimeMillis());
- private final static StringWriter writer = new StringWriter(2048);
-
protected final Factory factory;
protected int _id;
@@ -105,15 +100,6 @@ public abstract class BattleCommon implements Battle
map.turnDone();
}
- @Override
- public void load(Marshal.Mode mode, String payload)
- {
- JsonValue root = new JsonReader().parse(payload);
- load(mode, root);
- this.currentPlayer = players[0];
- }
-
- @Override
public void load(Marshal.Mode mode, JsonValue value)
{
if((mode == Marshal.Mode.FULL) || (mode == Marshal.Mode.STATE)) {
@@ -122,17 +108,7 @@ public abstract class BattleCommon implements Battle
map.loadPlayers(value, players);
}
map.load(mode, value);
- }
-
- @Override
- public String unload(Marshal.Mode mode)
- {
- Json json = new Json(OutputType.json);
- writer.getBuffer().setLength(0);
- json.setWriter(writer);
- unload(mode, json);
- writer.flush();
- return writer.toString();
+ this.currentPlayer = players[0];
}
@Override
diff --git a/core/src/ch/asynk/rustanddust/game/ctrl/Solo.java b/core/src/ch/asynk/rustanddust/game/ctrl/Solo.java
index 5473cd5..d9f1457 100644
--- a/core/src/ch/asynk/rustanddust/game/ctrl/Solo.java
+++ b/core/src/ch/asynk/rustanddust/game/ctrl/Solo.java
@@ -28,8 +28,8 @@ public class Solo extends Ctrl
} else {
GameRecord r = game.db.loadGame(gameId);
if (r != null) {
- battle.load(Marshal.Mode.STATE, r.state);
- battle.load(Marshal.Mode.ORDERS, r.orders);
+ load(Marshal.Mode.STATE, r.state);
+ load(Marshal.Mode.ORDERS, r.orders);
battle.getMap().clearMarshalUnits();
r.dispose();
} else
@@ -61,12 +61,12 @@ public class Solo extends Ctrl
private void storeState()
{
- game.db.storeGameState(gameId, battle.getTurnCount(), battle.getPlayer().id, battle.unload(Marshal.Mode.STATE));
+ game.db.storeGameState(gameId, battle.getTurnCount(), battle.getPlayer().id, unload(Marshal.Mode.STATE));
}
private void storeOrders()
{
- game.db.storeGameOrders(gameId, battle.getTurnCount(), battle.getPlayer().id, battle.unload(Marshal.Mode.ORDERS));
+ game.db.storeGameOrders(gameId, battle.getTurnCount(), battle.getPlayer().id, unload(Marshal.Mode.ORDERS));
}
private void storeTurn()