mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
re-arranged deck serialization code to make it more "symmetric": the what is serialized somewhere tends to be de-serialized in the same class
This commit is contained in:
@@ -27,7 +27,6 @@ import com.google.common.collect.ImmutableList;
|
||||
|
||||
import forge.deck.Deck;
|
||||
import forge.deck.DeckGroup;
|
||||
import forge.util.FileUtil;
|
||||
import forge.util.IItemSerializer;
|
||||
import forge.util.storage.StorageReaderFolder;
|
||||
|
||||
@@ -59,10 +58,10 @@ public class DeckGroupSerializer extends StorageReaderFolder<DeckGroup> implemen
|
||||
public void save(final DeckGroup unit) {
|
||||
final File f = this.makeFileFor(unit);
|
||||
f.mkdir();
|
||||
FileUtil.writeFile(new File(f, this.humanDeckFile), unit.getHumanDeck().save());
|
||||
DeckSerializer.writeDeck(unit.getHumanDeck(), new File(f, this.humanDeckFile));
|
||||
final List<Deck> aiDecks = unit.getAiDecks();
|
||||
for (int i = 1; i <= aiDecks.size(); i++) {
|
||||
FileUtil.writeFile(new File(f, "ai-" + i + ".dck"), aiDecks.get(i - 1).save());
|
||||
DeckSerializer.writeDeck(aiDecks.get(i - 1), new File(f, "ai-" + i + ".dck"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -72,7 +71,7 @@ public class DeckGroupSerializer extends StorageReaderFolder<DeckGroup> implemen
|
||||
@Override
|
||||
protected final DeckGroup read(final File file) {
|
||||
|
||||
final Deck human = Deck.fromFile(new File(file, this.humanDeckFile));
|
||||
final Deck human = DeckSerializer.fromFile(new File(file, this.humanDeckFile));
|
||||
if (null == human) {
|
||||
return null;
|
||||
}
|
||||
@@ -85,7 +84,7 @@ public class DeckGroupSerializer extends StorageReaderFolder<DeckGroup> implemen
|
||||
break;
|
||||
}
|
||||
|
||||
d.addAiDeck(Deck.fromFile(theFile));
|
||||
d.addAiDeck(DeckSerializer.fromFile(theFile));
|
||||
}
|
||||
return d;
|
||||
}
|
||||
|
||||
@@ -130,12 +130,12 @@ public class OldDeckParser {
|
||||
private void convertDrafts() {
|
||||
for (final File f : this.deckDir.listFiles(OldDeckParser.BDK_FILE_FILTER)) {
|
||||
boolean gotError = false;
|
||||
final Deck human = Deck.fromFile(new File(f, "0.dck"));
|
||||
final Deck human = DeckSerializer.fromFile(new File(f, "0.dck"));
|
||||
final DeckGroup d = new DeckGroup(human.getName());
|
||||
d.setHumanDeck(human);
|
||||
|
||||
for (int i = 1; i < DeckGroupSerializer.MAX_DRAFT_PLAYERS; i++) {
|
||||
final Deck nextAi = Deck.fromFile(new File(f, i + ".dck"));
|
||||
final Deck nextAi = DeckSerializer.fromFile(new File(f, i + ".dck"));
|
||||
if (nextAi == null) {
|
||||
gotError = true;
|
||||
break;
|
||||
@@ -176,7 +176,7 @@ public class OldDeckParser {
|
||||
|
||||
if (dh.isCustomPool()) {
|
||||
try {
|
||||
this.cube.add(Deck.fromSections(sections));
|
||||
this.cube.add(DeckSerializer.fromSections(sections));
|
||||
importedOk = true;
|
||||
}
|
||||
catch (final NoSuchElementException ex) {
|
||||
@@ -196,7 +196,7 @@ public class OldDeckParser {
|
||||
switch (dh.getDeckType()) {
|
||||
case Constructed:
|
||||
try {
|
||||
this.constructed.add(Deck.fromSections(sections));
|
||||
this.constructed.add(DeckSerializer.fromSections(sections));
|
||||
importedOk = true;
|
||||
} catch (final NoSuchElementException ex) {
|
||||
if (!allowDeleteUnsupportedConstructed) {
|
||||
@@ -219,7 +219,7 @@ public class OldDeckParser {
|
||||
stored = ImmutablePair.of(new DeckGroup(name), MutablePair.of((File) null, (File) null));
|
||||
}
|
||||
|
||||
final Deck deck = Deck.fromSections(sections);
|
||||
final Deck deck = DeckSerializer.fromSections(sections);
|
||||
if (dh.isIntendedForAi()) {
|
||||
stored.getLeft().addAiDeck(deck);
|
||||
stored.getRight().setRight(f);
|
||||
|
||||
@@ -12,7 +12,6 @@ import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import forge.Command;
|
||||
import forge.Singletons;
|
||||
import forge.card.ColorSet;
|
||||
import forge.deck.Deck;
|
||||
import forge.game.GameType;
|
||||
import forge.game.player.RegisteredPlayer;
|
||||
|
||||
@@ -172,7 +172,7 @@ public enum CCurrentDeck implements ICDoc {
|
||||
try {
|
||||
((DeckController<DeckBase>) CDeckEditorUI.SINGLETON_INSTANCE
|
||||
.getCurrentEditorController().getDeckController())
|
||||
.setModel(Deck.fromFile(file));
|
||||
.setModel(DeckSerializer.fromFile(file));
|
||||
|
||||
} catch (final Exception ex) {
|
||||
BugReporter.reportException(ex);
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.google.common.base.Supplier;
|
||||
|
||||
import forge.Singletons;
|
||||
import forge.deck.Deck;
|
||||
import forge.deck.io.DeckSerializer;
|
||||
import forge.game.Game;
|
||||
import forge.game.GameLogEntry;
|
||||
import forge.game.GameRules;
|
||||
@@ -120,7 +121,7 @@ public enum FServer {
|
||||
private Deck deckFromCommandLineParameter(String deckname) {
|
||||
int dotpos = deckname.lastIndexOf('.');
|
||||
if(dotpos > 0 && dotpos == deckname.length()-4)
|
||||
return Deck.fromFile(new File(deckname));
|
||||
return DeckSerializer.fromFile(new File(deckname));
|
||||
return Singletons.getModel().getDecks().getConstructed().get(deckname);
|
||||
}
|
||||
/**
|
||||
|
||||
@@ -7,7 +7,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import forge.ImageKeys;
|
||||
import forge.deck.Deck;
|
||||
import forge.deck.io.DeckSerializer;
|
||||
import forge.properties.NewConstants;
|
||||
import forge.quest.QuestEventChallenge;
|
||||
@@ -50,7 +49,7 @@ public class QuestChallengeReader extends StorageReaderFolder<QuestEventChalleng
|
||||
String humanDeck = sectionQuest.get("HumanDeck", null);
|
||||
if (humanDeck != null) {
|
||||
File humanFile = new File(NewConstants.DEFAULT_CHALLENGES_DIR, humanDeck); // Won't work in other worlds!
|
||||
qc.setHumanDeck(Deck.fromFile(humanFile));
|
||||
qc.setHumanDeck(DeckSerializer.fromFile(humanFile));
|
||||
}
|
||||
|
||||
// Common properties
|
||||
@@ -62,7 +61,7 @@ public class QuestChallengeReader extends StorageReaderFolder<QuestEventChalleng
|
||||
qc.setIconImageKey(ImageKeys.ICON_PREFIX + sectionMeta.get("Icon"));
|
||||
|
||||
// Deck
|
||||
qc.setEventDeck(Deck.fromSections(contents));
|
||||
qc.setEventDeck(DeckSerializer.fromSections(contents));
|
||||
return qc;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import forge.ImageKeys;
|
||||
import forge.deck.Deck;
|
||||
import forge.deck.io.DeckSerializer;
|
||||
import forge.quest.QuestEvent;
|
||||
import forge.quest.QuestEventDifficulty;
|
||||
@@ -36,7 +35,7 @@ public class QuestDuelReader extends StorageReaderFolder<QuestEventDuel> {
|
||||
qc.setIconImageKey(ImageKeys.ICON_PREFIX + sectionMeta.get("Icon"));
|
||||
|
||||
// Deck
|
||||
qc.setEventDeck(Deck.fromSections(contents));
|
||||
qc.setEventDeck(DeckSerializer.fromSections(contents));
|
||||
return qc;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user