Simplify reading of region and events files

This commit is contained in:
drdev
2016-01-31 22:05:43 +00:00
parent 91c3083c16
commit 12afde904c
5 changed files with 20 additions and 30 deletions

View File

@@ -4,8 +4,6 @@ import java.io.File;
import java.util.EnumSet;
import java.util.Set;
import com.google.common.base.Function;
import forge.LobbyPlayer;
import forge.deck.Deck;
import forge.deck.io.DeckSerializer;
@@ -18,7 +16,7 @@ import forge.util.Aggregates;
import forge.util.XmlReader;
import forge.util.XmlWriter;
import forge.util.XmlWriter.IXmlWritable;
import forge.util.storage.StorageReaderFile;
import forge.util.collect.FCollectionReader;
public class ConquestEvent {
private final ConquestRegion region;
@@ -89,23 +87,16 @@ public class ConquestEvent {
return new ConquestEventBattle(location0, tier0);
}
public static final Function<ConquestEvent, String> FN_GET_NAME = new Function<ConquestEvent, String>() {
@Override
public String apply(ConquestEvent event) {
return event.getName();
}
};
public static class Reader extends StorageReaderFile<ConquestEvent> {
public static class Reader extends FCollectionReader<ConquestEvent> {
private final ConquestRegion region;
public Reader(ConquestRegion region0) {
super(region0.getPlane().getDirectory() + region0.getName() + ForgeConstants.PATH_SEPARATOR + "_events.txt", ConquestEvent.FN_GET_NAME);
super(region0.getPlane().getDirectory() + region0.getName() + ForgeConstants.PATH_SEPARATOR + "_events.txt");
region = region0;
}
@Override
protected ConquestEvent read(String line, int i) {
protected ConquestEvent read(String line) {
String name = null;
String deck = null;
Set<GameType> variants = EnumSet.noneOf(GameType.class);

View File

@@ -36,8 +36,6 @@ import forge.properties.ForgeConstants;
import forge.util.FileUtil;
import forge.util.collect.FCollection;
import forge.util.collect.FCollectionView;
import forge.util.storage.IStorage;
import forge.util.storage.StorageBase;
import forge.util.storage.StorageReaderFile;
@@ -148,7 +146,7 @@ public class ConquestPlane {
if (regions != null) { return; }
//load regions
regions = new FCollection<ConquestRegion>(new StorageBase<ConquestRegion>("Conquest regions", new ConquestRegion.Reader(this)));
regions = new FCollection<ConquestRegion>(new ConquestRegion.Reader(this));
//load events
int eventIndex = 0;
@@ -156,7 +154,7 @@ public class ConquestPlane {
int regionEndIndex = eventsPerRegion;
events = new ConquestEvent[regions.size() * eventsPerRegion];
for (ConquestRegion region : regions) {
IStorage<ConquestEvent> regionEvents = new StorageBase<ConquestEvent>(region.getName() + " events", new ConquestEvent.Reader(region));
FCollection<ConquestEvent> regionEvents = new FCollection<ConquestEvent>(new ConquestEvent.Reader(region));
for (ConquestEvent event : regionEvents) {
events[eventIndex++] = event;
if (eventIndex == regionEndIndex) {

View File

@@ -5,7 +5,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import com.google.common.base.Function;
import com.google.common.base.Predicate;
import forge.GuiBase;
@@ -15,8 +14,8 @@ import forge.deck.generation.DeckGenPool;
import forge.item.PaperCard;
import forge.model.FModel;
import forge.util.collect.FCollection;
import forge.util.collect.FCollectionReader;
import forge.util.collect.FCollectionView;
import forge.util.storage.StorageReaderFile;
public class ConquestRegion {
private final ConquestPlane plane;
@@ -75,23 +74,16 @@ public class ConquestRegion {
return plane.getName() + " - " + name;
}
public static final Function<ConquestRegion, String> FN_GET_NAME = new Function<ConquestRegion, String>() {
@Override
public String apply(ConquestRegion region) {
return region.getName();
}
};
public static class Reader extends StorageReaderFile<ConquestRegion> {
public static class Reader extends FCollectionReader<ConquestRegion> {
private final ConquestPlane plane;
public Reader(ConquestPlane plane0) {
super(plane0.getDirectory() + "regions.txt", ConquestRegion.FN_GET_NAME);
super(plane0.getDirectory() + "regions.txt");
plane = plane0;
}
@Override
protected ConquestRegion read(String line, int index) {
protected ConquestRegion read(String line) {
String name = null;
String artCardName = null;
ColorSet colorSet = ColorSet.ALL_COLORS;