From 5e22f013580839cb7b12b931231e04ed698eddde Mon Sep 17 00:00:00 2001 From: drdev Date: Thu, 9 Oct 2014 01:30:16 +0000 Subject: [PATCH] Remove old implementation of game state serialization that was never used anyway --- .gitattributes | 3 - forge-game/src/main/java/forge/game/Game.java | 56 +------- .../src/main/java/forge/game/GameLog.java | 28 +--- .../main/java/forge/game/GameLogEntry.java | 17 +-- .../src/main/java/forge/game/GameOutcome.java | 19 +-- .../src/main/java/forge/game/GameRules.java | 41 +----- .../src/main/java/forge/game/GameView.java | 17 +++ .../main/java/forge/game/StaticEffects.java | 23 +--- .../forge/game/io/GameStateDeserializer.java | 108 --------------- .../forge/game/io/GameStateSerializer.java | 126 ------------------ .../java/forge/game/io/IGameStateObject.java | 6 - .../src/main/java/forge/game/phase/Phase.java | 30 +---- .../java/forge/game/phase/PhaseHandler.java | 19 +-- .../game/replacement/ReplacementHandler.java | 21 +-- .../forge/game/trigger/TriggerHandler.java | 18 +-- .../main/java/forge/game/zone/MagicStack.java | 18 +-- .../src/main/java/forge/game/zone/Zone.java | 65 ++++----- 17 files changed, 54 insertions(+), 561 deletions(-) delete mode 100644 forge-game/src/main/java/forge/game/io/GameStateDeserializer.java delete mode 100644 forge-game/src/main/java/forge/game/io/GameStateSerializer.java delete mode 100644 forge-game/src/main/java/forge/game/io/IGameStateObject.java diff --git a/.gitattributes b/.gitattributes index c9a58037bee..38cea455ade 100644 --- a/.gitattributes +++ b/.gitattributes @@ -529,9 +529,6 @@ forge-game/src/main/java/forge/game/event/GameEventTurnPhase.java -text forge-game/src/main/java/forge/game/event/GameEventZone.java -text forge-game/src/main/java/forge/game/event/IGameEventVisitor.java -text forge-game/src/main/java/forge/game/event/package-info.java -text -forge-game/src/main/java/forge/game/io/GameStateDeserializer.java -text -forge-game/src/main/java/forge/game/io/GameStateSerializer.java -text -forge-game/src/main/java/forge/game/io/IGameStateObject.java -text forge-game/src/main/java/forge/game/keyword/Cycling.java -text forge-game/src/main/java/forge/game/keyword/Keyword.java -text forge-game/src/main/java/forge/game/keyword/KeywordCollection.java -text diff --git a/forge-game/src/main/java/forge/game/Game.java b/forge-game/src/main/java/forge/game/Game.java index da5dc3a91f9..d86ac62e7f1 100644 --- a/forge-game/src/main/java/forge/game/Game.java +++ b/forge-game/src/main/java/forge/game/Game.java @@ -42,9 +42,6 @@ import forge.game.card.CardPredicates; import forge.game.combat.Combat; import forge.game.event.GameEvent; import forge.game.event.GameEventGameOutcome; -import forge.game.io.GameStateDeserializer; -import forge.game.io.GameStateSerializer; -import forge.game.io.IGameStateObject; import forge.game.phase.EndOfTurn; import forge.game.phase.Phase; import forge.game.phase.PhaseHandler; @@ -67,7 +64,7 @@ import forge.util.Aggregates; /** * Represents the state of a single game, a new instance is created for each game. */ -public class Game implements IGameStateObject { +public class Game { private final GameRules rules; private List roIngamePlayers; private List roIngamePlayersReversed; @@ -102,57 +99,6 @@ public class Game implements IGameStateObject { private final GameView view = new GameView(); - @Override - public void loadState(GameStateDeserializer gsd) { - gsd.readObject(rules); - gsd.readObject(cleanup); - gsd.readObject(endOfTurn); - gsd.readObject(endOfCombat); - gsd.readObject(untap); - gsd.readObject(upkeep); - gsd.readObject(stack); - gsd.readObject(phaseHandler); - gsd.readObject(staticEffects); - gsd.readObject(triggerHandler); - gsd.readObject(gameLog); - gsd.readObject(stackZone); - turnOrder = Direction.valueOf(gsd.readString()); - timestamp = gsd.readLong(); - age = GameStage.valueOf(gsd.readString()); - outcome = (GameOutcome)gsd.readObject(); - gsd.readPlayerList(allPlayers); - gsd.readPlayerList(ingamePlayers); - } - - @Override - public void saveState(GameStateSerializer gss) { - gss.write(rules); - gss.write(cleanup); - gss.write(endOfTurn); - gss.write(endOfCombat); - gss.write(untap); - gss.write(upkeep); - gss.write(stack); - gss.write(phaseHandler); - gss.write(staticEffects); - gss.write(triggerHandler); - gss.write(replacementHandler); - gss.write(gameLog); - gss.write(stackZone); - gss.write(turnOrder.name()); - gss.write(timestamp); - gss.write(age.name()); - gss.write(outcome); - gss.writePlayerList(allPlayers); - gss.writePlayerList(ingamePlayers); - roIngamePlayers = Collections.unmodifiableList(ingamePlayers); - roIngamePlayersReversed = Lists.reverse(roIngamePlayers); // reverse of unmodifiable list is also unmodifiable - } - - /** - * Constructor. - * @param match0 - */ public Game(List players0, GameRules rules0, Match match0) { /* no more zones to map here */ rules = rules0; match = match0; diff --git a/forge-game/src/main/java/forge/game/GameLog.java b/forge-game/src/main/java/forge/game/GameLog.java index c1dc97c01fb..793e11f5a45 100644 --- a/forge-game/src/main/java/forge/game/GameLog.java +++ b/forge-game/src/main/java/forge/game/GameLog.java @@ -15,13 +15,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - package forge.game; import forge.game.event.IGameEventVisitor; -import forge.game.io.GameStateDeserializer; -import forge.game.io.GameStateSerializer; -import forge.game.io.IGameStateObject; import java.util.ArrayList; import java.util.List; @@ -34,10 +30,11 @@ import java.util.Observable; * @author Forge * @version $Id: GameLog.java 12297 2011-11-28 19:56:47Z slapshot5 $ */ -public class GameLog extends Observable implements IGameStateObject { +public class GameLog extends Observable { private List log = new ArrayList(); private GameLogFormatter formatter = new GameLogFormatter(this); + /** Logging level: * 0 - Turn * 2 - Stack items @@ -46,30 +43,9 @@ public class GameLog extends Observable implements IGameStateObject { * 6 - All Phase information */ - @Override - public void loadState(GameStateDeserializer gsd) { - // TODO Auto-generated method stub - - } - - @Override - public void saveState(GameStateSerializer gss) { - gss.writeList(log); - } - - /** - * Instantiates a new game log. - */ public GameLog() { } - /** - * Adds the. - * - * @param type the type - * @param message the message - * @param type the level - */ public void add(final GameLogEntryType type, final String message) { add(new GameLogEntry(type, message)); } diff --git a/forge-game/src/main/java/forge/game/GameLogEntry.java b/forge-game/src/main/java/forge/game/GameLogEntry.java index 05ed7d6ab68..17399e9952c 100644 --- a/forge-game/src/main/java/forge/game/GameLogEntry.java +++ b/forge-game/src/main/java/forge/game/GameLogEntry.java @@ -1,10 +1,7 @@ package forge.game; -import forge.game.io.GameStateDeserializer; -import forge.game.io.GameStateSerializer; -import forge.game.io.IGameStateObject; -public class GameLogEntry implements IGameStateObject { +public class GameLogEntry { public final String message; public final GameLogEntryType type; // might add here date and some other fields @@ -19,16 +16,4 @@ public class GameLogEntry implements IGameStateObject { // TODO Auto-generated method stub return type.getCaption() + ": " + message; } - - @Override - public void loadState(GameStateDeserializer gsd) { - // TODO Auto-generated method stub - - } - - @Override - public void saveState(GameStateSerializer gss) { - gss.write(type.name()); - gss.write(message); - } } \ No newline at end of file diff --git a/forge-game/src/main/java/forge/game/GameOutcome.java b/forge-game/src/main/java/forge/game/GameOutcome.java index b51de037761..e324906bc92 100644 --- a/forge-game/src/main/java/forge/game/GameOutcome.java +++ b/forge-game/src/main/java/forge/game/GameOutcome.java @@ -18,9 +18,6 @@ package forge.game; import forge.LobbyPlayer; -import forge.game.io.GameStateDeserializer; -import forge.game.io.GameStateSerializer; -import forge.game.io.IGameStateObject; import forge.game.player.Player; import forge.game.player.PlayerOutcome; import forge.game.player.PlayerStatistics; @@ -43,7 +40,7 @@ import java.util.Map.Entry; // This class might be divided in two parts: the very summary (immutable with // only getters) and // GameObserver class - who should be notified of any considerable ingame event -public final class GameOutcome implements Iterable>, IGameStateObject { +public final class GameOutcome implements Iterable> { public static class AnteResult { public final List lostCards; public final List wonCards; @@ -79,20 +76,6 @@ public final class GameOutcome implements Iterable anteResult = new TreeMap<>(); private GameEndReason winCondition; - @Override - public void loadState(GameStateDeserializer gsd) { - lastTurnNumber = gsd.readInt(); - lifeDelta = gsd.readInt(); - winCondition = GameEndReason.valueOf(gsd.readString()); - } - - @Override - public void saveState(GameStateSerializer gss) { - gss.write(lastTurnNumber); - gss.write(lifeDelta); - gss.write(winCondition.name()); - } - public GameOutcome(GameEndReason reason, final Iterable list) { winCondition = reason; players = list; diff --git a/forge-game/src/main/java/forge/game/GameRules.java b/forge-game/src/main/java/forge/game/GameRules.java index bcd0b77a247..71d343b24ec 100644 --- a/forge-game/src/main/java/forge/game/GameRules.java +++ b/forge-game/src/main/java/forge/game/GameRules.java @@ -3,11 +3,7 @@ package forge.game; import java.util.EnumSet; import java.util.Set; -import forge.game.io.GameStateDeserializer; -import forge.game.io.GameStateSerializer; -import forge.game.io.IGameStateObject; - -public class GameRules implements IGameStateObject { +public class GameRules { private GameType gameType; private boolean manaBurn; private int poisonCountersToLose = 10; // is commonly 10, but turns into 15 for 2HG @@ -19,41 +15,6 @@ public class GameRules implements IGameStateObject { // it's a preference, not rule... but I could hardly find a better place for it public boolean canCloneUseTargetsImage; - - @Override - public void loadState(GameStateDeserializer gsd) { - gameType = GameType.valueOf(gsd.readString()); - manaBurn = gsd.readBoolean(); - poisonCountersToLose = gsd.readInt(); - gamesPerMatch = gsd.readInt(); - gamesToWinMatch = gsd.readInt(); - playForAnte = gsd.readBoolean(); - matchAnteRarity = gsd.readBoolean(); - canCloneUseTargetsImage = gsd.readBoolean(); - - int variantCount = gsd.readInt(); - appliedVariants.clear(); - for (int i = 0; i < variantCount; i++) { - appliedVariants.add(GameType.valueOf(gsd.readString())); - } - } - - @Override - public void saveState(GameStateSerializer gss) { - gss.write(gameType.name()); - gss.write(manaBurn); - gss.write(poisonCountersToLose); - gss.write(gamesPerMatch); - gss.write(gamesToWinMatch); - gss.write(playForAnte); - gss.write(matchAnteRarity); - gss.write(canCloneUseTargetsImage); - - gss.write(appliedVariants.size()); - for (GameType variant : appliedVariants) { - gss.write(variant.name()); - } - } public GameRules(GameType type) { this.gameType = type; diff --git a/forge-game/src/main/java/forge/game/GameView.java b/forge-game/src/main/java/forge/game/GameView.java index 5e2a745c077..b907b530c62 100644 --- a/forge-game/src/main/java/forge/game/GameView.java +++ b/forge-game/src/main/java/forge/game/GameView.java @@ -47,4 +47,21 @@ public class GameView { CardView.getCollection(blockers)); } } + + public void serialize() { + /*try { + GameStateSerializer serializer = new GameStateSerializer(filename); + game.saveState(serializer); + serializer.writeEndOfFile(); + serializer.bw.close(); + } + catch (Exception e) { + e.printStackTrace(); + }*/ + } + + public void deserialize() { + /*GameStateDeserializer deserializer = new GameStateDeserializer(); + deserializer.readObject();*/ + } } diff --git a/forge-game/src/main/java/forge/game/StaticEffects.java b/forge-game/src/main/java/forge/game/StaticEffects.java index 6514e8977d2..d54c0c09888 100644 --- a/forge-game/src/main/java/forge/game/StaticEffects.java +++ b/forge-game/src/main/java/forge/game/StaticEffects.java @@ -19,9 +19,6 @@ package forge.game; import forge.game.card.Card; import forge.game.card.CardUtil; -import forge.game.io.GameStateDeserializer; -import forge.game.io.GameStateSerializer; -import forge.game.io.IGameStateObject; import forge.game.player.Player; import forge.game.replacement.ReplacementEffect; import forge.game.spellability.AbilityStatic; @@ -38,7 +35,7 @@ import java.util.*; * @author Forge * @version $Id$ */ -public class StaticEffects implements IGameStateObject { +public class StaticEffects { // **************** StaticAbility system ************************** private final ArrayList staticEffects = new ArrayList(); @@ -264,20 +261,4 @@ public class StaticEffects implements IGameStateObject { se.clearTimestamps(); return affectedCards; } - - @Override - public void loadState(GameStateDeserializer gsd) { - // TODO Auto-generated method stub - - } - - @Override - public void saveState(GameStateSerializer gss) { - // TODO Auto-generated method stub - - } - - // **************** End StaticAbility system ************************** - - -} // end class StaticEffects +} diff --git a/forge-game/src/main/java/forge/game/io/GameStateDeserializer.java b/forge-game/src/main/java/forge/game/io/GameStateDeserializer.java deleted file mode 100644 index 9b2cc33ed9c..00000000000 --- a/forge-game/src/main/java/forge/game/io/GameStateDeserializer.java +++ /dev/null @@ -1,108 +0,0 @@ -package forge.game.io; - -import java.io.ByteArrayInputStream; -import java.io.ObjectInputStream; -import java.util.Collection; - -import forge.game.Game; -import forge.game.card.Card; -import forge.game.player.Player; -import forge.item.PaperCard; -import forge.util.FileUtil; - -public class GameStateDeserializer { - private int index; - private final String[] pieces; - - public static void loadGameState(Game game, String filename) { - GameStateDeserializer deserializer = new GameStateDeserializer(filename); - deserializer.readObject(game); - } - - private GameStateDeserializer(String filename) { - pieces = FileUtil.readFileToString(filename).split(String.valueOf(GameStateSerializer.DELIMITER)); - } - - public String readString() { - return pieces[index++]; - } - public boolean readBoolean() { - return readString().equals("1"); - } - public int readInt() { - return Integer.parseInt(readString()); - } - public long readLong() { - return Long.parseLong(readString()); - } - public float readFloat() { - return Float.parseFloat(readString()); - } - public double readDouble() { - return Double.parseDouble(readString()); - } - public IGameStateObject readObject() { - IGameStateObject obj = null; - try { - obj = (IGameStateObject)Class.forName(readString()).newInstance(); - } - catch (Exception e) { - e.printStackTrace(); - } - if (obj != null) { - obj.loadState(this); - } - return obj; - } - public void readObject(IGameStateObject obj) { //read into existing object - if (obj != null && obj.getClass().getName().equals(readString())) { - obj.loadState(this); - } - } - public Card readCard() { - return null; - } - public PaperCard readPaperCard() { - return null; - } - public Player readPlayer() { - return null; - } - public void readCardList(Collection value) { - if (value == null) { return; } - value.clear(); - int count = readInt(); - for (int i = 0; i < count; i++) { - value.add(readCard()); - } - } - public void readPaperCardList(Collection value) { - if (value == null) { return; } - value.clear(); - int count = readInt(); - for (int i = 0; i < count; i++) { - value.add(readPaperCard()); - } - } - public void readPlayerList(Collection value) { - if (value == null) { return; } - value.clear(); - int count = readInt(); - for (int i = 0; i < count; i++) { - value.add(readPlayer()); - } - } - public Object deserialize() { - ObjectInputStream ois; - try { - ois = new ObjectInputStream(new ByteArrayInputStream(readString().getBytes())); - Object obj = ois.readObject(); - ois.close(); - return obj; - } - catch (Exception e) { - e.printStackTrace(); - } - return null; - } -} diff --git a/forge-game/src/main/java/forge/game/io/GameStateSerializer.java b/forge-game/src/main/java/forge/game/io/GameStateSerializer.java deleted file mode 100644 index 6ec40a6226b..00000000000 --- a/forge-game/src/main/java/forge/game/io/GameStateSerializer.java +++ /dev/null @@ -1,126 +0,0 @@ -package forge.game.io; - -import java.io.BufferedWriter; -import java.io.ByteArrayOutputStream; -import java.io.FileWriter; -import java.io.IOException; -import java.io.ObjectOutputStream; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import forge.game.Game; -import forge.game.card.Card; -import forge.game.player.Player; - -public class GameStateSerializer { - public final static char DELIMITER = (char)5; - - private final Map cards = new HashMap(); - private final List players = new ArrayList(); - private final BufferedWriter bw; - - public static void saveGameState(Game game, String filename) { - GameStateSerializer serializer = null; - try { - serializer = new GameStateSerializer(filename); - game.saveState(serializer); - serializer.writeEndOfFile(); - serializer.bw.close(); - } - catch (Exception e) { - e.printStackTrace(); - } - } - - private GameStateSerializer(String filename) throws IOException { - bw = new BufferedWriter(new FileWriter(filename)); - } - - private void writeEndOfFile() { - - } - - public void write(String value) { - try { - bw.write(value + DELIMITER); - } - catch (Exception e) {} - } - public void write(IGameStateObject value) { - if (value == null) { return; } - write(value.getClass().getName()); //needed so state object can be initialized - value.saveState(this); - } - public void write(Card card) { - if (card == null) { return; } - - int key = card.getId(); - cards.put(key, card); - write(key); //only write info for each card once at end of file - } - public void write(Player player) { - if (player == null) { return; } - - int key = players.indexOf(player); - if (key == -1) { - key = players.size(); - players.add(player); - } - write(key); //only write info for each player once at end of file - } - public void write(boolean value) { - write(value ? "1" : "0"); - } - public void write(int value) { - write(String.valueOf(value)); - } - public void write(long value) { - write(String.valueOf(value)); - } - public void write(float value) { - write(String.valueOf(value)); - } - public void write(double value) { - write(String.valueOf(value)); - } - public void writeList(Collection value) { - if (value == null) { return; } - write(value.size()); //must write size first - for (IGameStateObject obj : value) { - write(obj); - } - } - public void writeCardList(Collection value) { - if (value == null) { return; } - write(value.size()); //must write size first - for (Card card : value) { - write(card); - } - } - public void writePlayerList(Collection value) { - if (value == null) { return; } - write(value.size()); //must write size first - for (Player player : value) { - write(player); - } - } - public void serialize(Serializable obj) { - String str; - try { - ByteArrayOutputStream baos = new ByteArrayOutputStream(); - ObjectOutputStream oos = new ObjectOutputStream(baos); - oos.writeObject(obj); - oos.close(); - str = baos.toString(); - } - catch (Exception e) { - e.printStackTrace(); - str = ""; //ensure placeholder include in output - } - write(str); - } -} diff --git a/forge-game/src/main/java/forge/game/io/IGameStateObject.java b/forge-game/src/main/java/forge/game/io/IGameStateObject.java deleted file mode 100644 index 959b2972346..00000000000 --- a/forge-game/src/main/java/forge/game/io/IGameStateObject.java +++ /dev/null @@ -1,6 +0,0 @@ -package forge.game.io; - -public interface IGameStateObject { - void loadState(GameStateDeserializer gsd); - void saveState(GameStateSerializer gss); -} diff --git a/forge-game/src/main/java/forge/game/phase/Phase.java b/forge-game/src/main/java/forge/game/phase/Phase.java index d85fbe1953b..d9a71eb010e 100644 --- a/forge-game/src/main/java/forge/game/phase/Phase.java +++ b/forge-game/src/main/java/forge/game/phase/Phase.java @@ -20,15 +20,11 @@ package forge.game.phase; import com.google.common.collect.Lists; import forge.GameCommand; -import forge.game.io.GameStateDeserializer; -import forge.game.io.GameStateSerializer; -import forge.game.io.IGameStateObject; import forge.game.player.Player; import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import java.util.Map.Entry; /** @@ -39,7 +35,7 @@ import java.util.Map.Entry; * @author Forge * @version $Id$ */ -public class Phase implements java.io.Serializable, IGameStateObject { +public class Phase implements java.io.Serializable { private static final long serialVersionUID = 4665309652476851977L; @@ -55,30 +51,6 @@ public class Phase implements java.io.Serializable, IGameStateObject { private final HashMap> untilEndMap = new HashMap>(); private final HashMap> registerMap = new HashMap>(); - @Override - public void loadState(GameStateDeserializer gsd) { - - } - - @Override - public void saveState(GameStateSerializer gss) { - gss.write(type.name()); - gss.serialize(at); - gss.serialize(until); - for (Entry> entry : untilMap.entrySet()) { - gss.write(entry.getKey()); - gss.serialize(entry.getValue()); - } - for (Entry> entry : untilEndMap.entrySet()) { - gss.write(entry.getKey()); - gss.serialize(entry.getValue()); - } - for (Entry> entry : registerMap.entrySet()) { - gss.write(entry.getKey()); - gss.serialize(entry.getValue()); - } - } - /** *

* Add a hardcoded trigger that will execute "at ". diff --git a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java index f088b330f87..ab039d57dd9 100644 --- a/forge-game/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-game/src/main/java/forge/game/phase/PhaseHandler.java @@ -32,9 +32,6 @@ import forge.game.combat.Combat; import forge.game.combat.CombatUtil; import forge.game.cost.Cost; import forge.game.event.*; -import forge.game.io.GameStateDeserializer; -import forge.game.io.GameStateSerializer; -import forge.game.io.IGameStateObject; import forge.game.player.Player; import forge.game.player.PlayerController.BinaryChoiceType; import forge.game.player.PlayerController.ManaPaymentPurpose; @@ -59,7 +56,7 @@ import java.util.*; * @author Forge * @version $Id: PhaseHandler.java 13001 2012-01-08 12:25:25Z Sloth $ */ -public class PhaseHandler implements java.io.Serializable, IGameStateObject { +public class PhaseHandler implements java.io.Serializable { /** Constant serialVersionUID=5207222278370963197L. */ private static final long serialVersionUID = 5207222278370963197L; @@ -1145,18 +1142,4 @@ public class PhaseHandler implements java.io.Serializable, IGameStateObject { public void endCombat() { combat = null; } - - - @Override - public void loadState(GameStateDeserializer gsd) { - // TODO Auto-generated method stub - - } - - - @Override - public void saveState(GameStateSerializer gss) { - // TODO Auto-generated method stub - - } } diff --git a/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java b/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java index 128b964b293..4370d4b09f2 100644 --- a/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java +++ b/forge-game/src/main/java/forge/game/replacement/ReplacementHandler.java @@ -23,9 +23,6 @@ import forge.game.GameLogEntryType; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.card.Card; -import forge.game.io.GameStateDeserializer; -import forge.game.io.GameStateSerializer; -import forge.game.io.IGameStateObject; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.zone.ZoneType; @@ -35,11 +32,7 @@ import org.apache.commons.lang3.StringUtils; import java.util.*; -/** - * TODO: Write javadoc for this type. - * - */ -public class ReplacementHandler implements IGameStateObject { +public class ReplacementHandler { private final Game game; /** * ReplacementHandler. @@ -301,16 +294,4 @@ public class ReplacementHandler implements IGameStateObject { } } } - - @Override - public void loadState(GameStateDeserializer gsd) { - // TODO Auto-generated method stub - - } - - @Override - public void saveState(GameStateSerializer gss) { - // TODO Auto-generated method stub - - } } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java index 8d947dcb3d8..26e09f769dc 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java @@ -26,9 +26,6 @@ import forge.game.ability.ApiType; import forge.game.ability.effects.CharmEffect; import forge.game.card.Card; import forge.game.card.CardUtil; -import forge.game.io.GameStateDeserializer; -import forge.game.io.GameStateSerializer; -import forge.game.io.IGameStateObject; import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.spellability.Ability; @@ -39,7 +36,7 @@ import java.util.*; import com.google.common.collect.ArrayListMultimap; -public class TriggerHandler implements IGameStateObject { +public class TriggerHandler { private final ArrayList suppressedModes = new ArrayList(); private final ArrayList activeTriggers = new ArrayList(); @@ -510,18 +507,5 @@ public class TriggerHandler implements IGameStateObject { regtrig.getHostCard().getTriggers().remove(regtrig); } } - - } - - @Override - public void loadState(GameStateDeserializer gsd) { - // TODO Auto-generated method stub - - } - - @Override - public void saveState(GameStateSerializer gss) { - // TODO Auto-generated method stub - } } diff --git a/forge-game/src/main/java/forge/game/zone/MagicStack.java b/forge-game/src/main/java/forge/game/zone/MagicStack.java index 42a62e064c7..c9a11c13606 100644 --- a/forge-game/src/main/java/forge/game/zone/MagicStack.java +++ b/forge-game/src/main/java/forge/game/zone/MagicStack.java @@ -39,9 +39,6 @@ import forge.game.event.GameEventCardStatsChanged; import forge.game.event.GameEventSpellAbilityCast; import forge.game.event.GameEventSpellRemovedFromStack; import forge.game.event.GameEventSpellResolved; -import forge.game.io.GameStateDeserializer; -import forge.game.io.GameStateSerializer; -import forge.game.io.IGameStateObject; import forge.game.player.Player; import forge.game.player.PlayerController.ManaPaymentPurpose; import forge.game.replacement.ReplacementEffect; @@ -64,7 +61,7 @@ import java.util.concurrent.LinkedBlockingDeque; * @author Forge * @version $Id$ */ -public class MagicStack /* extends MyObservable */ implements Iterable, IGameStateObject { +public class MagicStack /* extends MyObservable */ implements Iterable { private final List simultaneousStackEntryList = new ArrayList(); // They don't provide a LIFO queue, so had to use a deque @@ -975,17 +972,4 @@ public class MagicStack /* extends MyObservable */ implements Iterable, IGameStateObject { +public class Zone implements java.io.Serializable, Iterable { /** Constant serialVersionUID=-5687652485777639176L. */ private static final long serialVersionUID = -5687652485777639176L; @@ -58,12 +55,10 @@ public class Zone implements java.io.Serializable, Iterable, IGameStateObj protected final transient MapOfLists cardsAddedThisTurn = new EnumMapOfLists<>(ZoneType.class, CollectionSuppliers.arrayLists()); protected final transient MapOfLists cardsAddedLastTurn = new EnumMapOfLists<>(ZoneType.class, CollectionSuppliers.arrayLists()); - public Zone(final ZoneType zone, Game game) { - this.zoneType = zone; - this.game = game; - this.roCardList = Collections.unmodifiableList(cardList); - - //System.out.println(zoneName + " (ct) " + Integer.toHexString(System.identityHashCode(roCardList))); + public Zone(final ZoneType zone0, Game game0) { + zoneType = zone0; + game = game0; + roCardList = Collections.unmodifiableList(cardList); } public Player getPlayer() { // generic zones like stack have no player associated @@ -89,24 +84,24 @@ public class Zone implements java.io.Serializable, Iterable, IGameStateObj c.setZone(this); if (index == null) { - this.cardList.add(c); + cardList.add(c); } else { - this.cardList.add(index.intValue(), c); + cardList.add(index.intValue(), c); } game.fireEvent(new GameEventZone(zoneType, getPlayer(), EventValueChangeType.Added, c)); } public final boolean contains(final Card c) { - return this.cardList.contains(c); + return cardList.contains(c); } public final boolean contains(final Predicate condition) { - return Iterables.any(this.cardList, condition); + return Iterables.any(cardList, condition); } public void remove(final Card c) { - this.cardList.remove(c); + cardList.remove(c); game.fireEvent(new GameEventZone(zoneType, getPlayer(), EventValueChangeType.Removed, c)); } @@ -120,7 +115,7 @@ public class Zone implements java.io.Serializable, Iterable, IGameStateObj } public final boolean is(final ZoneType zone) { - return zone == this.zoneType; + return zone == zoneType; } // PlayerZone should override it with a correct implementation @@ -130,25 +125,25 @@ public class Zone implements java.io.Serializable, Iterable, IGameStateObj } public final ZoneType getZoneType() { - return this.zoneType; + return zoneType; } public final int size() { - return this.cardList.size(); + return cardList.size(); } public final Card get(final int index) { - return this.cardList.get(index); + return cardList.get(index); } public final List getCards() { //System.out.println(zoneName + ": " + Integer.toHexString(System.identityHashCode(roCardList))); - return this.getCards(true); + return getCards(true); } public List getCards(final boolean filter) { // Non-Battlefield PlayerZones don't care about the filter - return this.roCardList; + return roCardList; } /* @@ -158,7 +153,7 @@ public class Zone implements java.io.Serializable, Iterable, IGameStateObj */ public final boolean isEmpty() { - return this.cardList.isEmpty(); + return cardList.isEmpty(); } /** @@ -189,7 +184,7 @@ public class Zone implements java.io.Serializable, Iterable, IGameStateObj * @return a {@link forge.CardList} object. */ public final List getCardsAddedThisTurn(final ZoneType origin) { - //System.out.print("Request cards put into " + this.getZoneType() + " from " + origin + ".Amount: "); + //System.out.print("Request cards put into " + getZoneType() + " from " + origin + ".Amount: "); return getCardsAdded(cardsAddedThisTurn, origin); } @@ -203,7 +198,7 @@ public class Zone implements java.io.Serializable, Iterable, IGameStateObj * @return a {@link forge.CardList} object. */ public final List getCardsAddedLastTurn(final ZoneType origin) { - //System.out.print("Last turn - Request cards put into " + this.getZoneType() + " from " + origin + ".Amount: "); + //System.out.print("Last turn - Request cards put into " + getZoneType() + " from " + origin + ".Amount: "); return getCardsAdded(cardsAddedLastTurn, origin); } @@ -232,11 +227,11 @@ public class Zone implements java.io.Serializable, Iterable, IGameStateObj *

*/ public final void resetCardsAddedThisTurn() { - this.cardsAddedLastTurn.clear(); - for (Entry> entry : this.cardsAddedThisTurn.entrySet()) { - this.cardsAddedLastTurn.addAll(entry.getKey(), entry.getValue()); + cardsAddedLastTurn.clear(); + for (Entry> entry : cardsAddedThisTurn.entrySet()) { + cardsAddedLastTurn.addAll(entry.getKey(), entry.getValue()); } - this.cardsAddedThisTurn.clear(); + cardsAddedThisTurn.clear(); } /* (non-Javadoc) @@ -261,18 +256,6 @@ public class Zone implements java.io.Serializable, Iterable, IGameStateObj */ @Override public String toString() { - return this.zoneType.toString(); - } - - @Override - public void loadState(GameStateDeserializer gsd) { - // TODO Auto-generated method stub - - } - - @Override - public void saveState(GameStateSerializer gss) { - // TODO Auto-generated method stub - + return zoneType.toString(); } }