mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
fix problems with deck format detection
This commit is contained in:
@@ -49,12 +49,16 @@ public abstract class StorageReaderFileSections<T> extends StorageReaderBase<T>
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected Map<String, T> createMap() {
|
||||||
|
return new TreeMap<String, T>();
|
||||||
|
}
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see forge.util.IItemReader#readAll()
|
* @see forge.util.IItemReader#readAll()
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public Map<String, T> readAll() {
|
public Map<String, T> readAll() {
|
||||||
final Map<String, T> result = new TreeMap<String, T>();
|
final Map<String, T> result = createMap();
|
||||||
|
|
||||||
int idx = 0;
|
int idx = 0;
|
||||||
Iterable<String> file = FileUtil.readFile(this.file);
|
Iterable<String> file = FileUtil.readFile(this.file);
|
||||||
|
|||||||
@@ -195,6 +195,8 @@ public class GameFormat implements Comparable<GameFormat> {
|
|||||||
* Instantiates a new format utils.
|
* Instantiates a new format utils.
|
||||||
*/
|
*/
|
||||||
public static class Reader extends StorageReaderFileSections<GameFormat> {
|
public static class Reader extends StorageReaderFileSections<GameFormat> {
|
||||||
|
List<GameFormat> naturallyOrdered = new ArrayList<GameFormat>();
|
||||||
|
|
||||||
public Reader(File file0) {
|
public Reader(File file0) {
|
||||||
super(file0, GameFormat.FN_GET_NAME);
|
super(file0, GameFormat.FN_GET_NAME);
|
||||||
}
|
}
|
||||||
@@ -214,13 +216,18 @@ public class GameFormat implements Comparable<GameFormat> {
|
|||||||
bannedCards = Arrays.asList(strCars.split("; "));
|
bannedCards = Arrays.asList(strCars.split("; "));
|
||||||
}
|
}
|
||||||
|
|
||||||
return new GameFormat(title, sets, bannedCards, 1 + idx);
|
GameFormat result = new GameFormat(title, sets, bannedCards, 1 + idx);
|
||||||
|
naturallyOrdered.add(result);
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Collection extends StorageBase<GameFormat> {
|
public static class Collection extends StorageBase<GameFormat> {
|
||||||
public Collection(StorageReaderBase<GameFormat> reader) {
|
private List<GameFormat> naturallyOrdered;
|
||||||
|
|
||||||
|
public Collection(GameFormat.Reader reader) {
|
||||||
super("Format collections", reader);
|
super("Format collections", reader);
|
||||||
|
naturallyOrdered = reader.naturallyOrdered;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GameFormat getStandard() {
|
public GameFormat getStandard() {
|
||||||
@@ -240,7 +247,7 @@ public class GameFormat implements Comparable<GameFormat> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public GameFormat getFormatOfDeck(Deck deck) {
|
public GameFormat getFormatOfDeck(Deck deck) {
|
||||||
for(GameFormat gf : this) {
|
for(GameFormat gf : naturallyOrdered) {
|
||||||
if ( Deck.createPredicate(gf.getFilterRules()).apply(deck) )
|
if ( Deck.createPredicate(gf.getFilterRules()).apply(deck) )
|
||||||
return gf;
|
return gf;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user