diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2016-03-22 15:56:04 +0100 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2016-03-22 15:56:04 +0100 | 
| commit | 3e130a66edfb9ba072f1e1ca4f61bb3cfb114033 (patch) | |
| tree | b3935d0e874ed7048e3ab67c17fc98155561200a /core/src/ch | |
| parent | c822ee999fd7aea0f796b732ba8e458304c728a7 (diff) | |
| download | RustAndDust-3e130a66edfb9ba072f1e1ca4f61bb3cfb114033.zip RustAndDust-3e130a66edfb9ba072f1e1ca4f61bb3cfb114033.tar.gz | |
Battle,Ctrl: move JSON code from BattleCommon to Ctrl
Diffstat (limited to 'core/src/ch')
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() | 
