StaticData now includes an extra option to control the use of Custom Cards

This option is read from ForgePreferences and passed to StaticData by FModel
This commit is contained in:
leriomaggio
2021-07-11 19:04:56 +01:00
parent 2808b4945e
commit e6958305b5
2 changed files with 11 additions and 4 deletions

View File

@@ -46,6 +46,7 @@ public class StaticData {
private MulliganDefs.MulliganRule mulliganRule = MulliganDefs.getDefaultRule();
private String prefferedArt;
private boolean enableCustomCardsInDecks = false; // default
// Loaded lazily:
private IStorage<SealedProduct.Template> boosters;
@@ -58,10 +59,10 @@ public class StaticData {
private static StaticData lastInstance = null;
public StaticData(CardStorageReader cardReader, CardStorageReader customCardReader, String editionFolder, String customEditionsFolder, String blockDataFolder, String prefferedArt, boolean enableUnknownCards, boolean loadNonLegalCards) {
this(cardReader, null, customCardReader, editionFolder, customEditionsFolder, blockDataFolder, prefferedArt, enableUnknownCards, loadNonLegalCards);
this(cardReader, null, customCardReader, editionFolder, customEditionsFolder, blockDataFolder, prefferedArt, enableUnknownCards, loadNonLegalCards, false);
}
public StaticData(CardStorageReader cardReader, CardStorageReader tokenReader, CardStorageReader customCardReader, String editionFolder, String customEditionsFolder, String blockDataFolder, String prefferedArt, boolean enableUnknownCards, boolean loadNonLegalCards) {
public StaticData(CardStorageReader cardReader, CardStorageReader tokenReader, CardStorageReader customCardReader, String editionFolder, String customEditionsFolder, String blockDataFolder, String prefferedArt, boolean enableUnknownCards, boolean loadNonLegalCards, boolean enableCustomCardsInDecks) {
this.cardReader = cardReader;
this.tokenReader = tokenReader;
this.editions = new CardEdition.Collection(new CardEdition.Reader(new File(editionFolder)));
@@ -69,6 +70,7 @@ public class StaticData {
this.customCardReader = customCardReader;
this.customEditions = new CardEdition.Collection(new CardEdition.Reader(new File(customEditionsFolder), true));
this.prefferedArt = prefferedArt;
this.enableCustomCardsInDecks = enableCustomCardsInDecks;
lastInstance = this;
List<String> funnyCards = new ArrayList<>();
List<String> filtered = new ArrayList<>();
@@ -285,7 +287,9 @@ public class StaticData {
public TokenDb getAllTokens() { return allTokens; }
public boolean isEnableCustomCardsInDecks() {
return this.enableCustomCardsInDecks;
}
public void setStandardPredicate(Predicate<PaperCard> standardPredicate) { this.standardPredicate = standardPredicate; }

View File

@@ -189,7 +189,10 @@ public final class FModel {
} catch (Exception e) {
customReader = null;
}
magicDb = new StaticData(reader, tokenReader, customReader, ForgeConstants.EDITIONS_DIR, ForgeConstants.USER_CUSTOM_EDITIONS_DIR,ForgeConstants.BLOCK_DATA_DIR, FModel.getPreferences().getPref(FPref.UI_PREFERRED_ART), FModel.getPreferences().getPrefBoolean(FPref.UI_LOAD_UNKNOWN_CARDS), FModel.getPreferences().getPrefBoolean(FPref.UI_LOAD_NONLEGAL_CARDS));
magicDb = new StaticData(reader, tokenReader, customReader, ForgeConstants.EDITIONS_DIR, ForgeConstants.USER_CUSTOM_EDITIONS_DIR,ForgeConstants.BLOCK_DATA_DIR, FModel.getPreferences().getPref(FPref.UI_PREFERRED_ART),
FModel.getPreferences().getPrefBoolean(FPref.UI_LOAD_UNKNOWN_CARDS),
FModel.getPreferences().getPrefBoolean(FPref.UI_LOAD_NONLEGAL_CARDS),
FModel.getPreferences().getPrefBoolean(FPref.UI_LOAD_CUSTOM_CARDS));
CardTranslation.preloadTranslation(preferences.getPref(FPref.UI_LANGUAGE), ForgeConstants.LANG_DIR);
//create profile dirs if they don't already exist