mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
Merge branch 'master' into 'master'
update preload itempool See merge request core-developers/forge!4428
This commit is contained in:
@@ -63,8 +63,6 @@ public final class CEditorConstructed extends CDeckEditor<Deck> {
|
|||||||
private final List<DeckSection> allSections = new ArrayList<>();
|
private final List<DeckSection> allSections = new ArrayList<>();
|
||||||
private ItemPool<PaperCard> normalPool, avatarPool, planePool, schemePool, conspiracyPool, commanderPool;
|
private ItemPool<PaperCard> normalPool, avatarPool, planePool, schemePool, conspiracyPool, commanderPool;
|
||||||
|
|
||||||
Predicate<CardRules> commanderFilter;
|
|
||||||
|
|
||||||
CardManager catalogManager;
|
CardManager catalogManager;
|
||||||
CardManager deckManager;
|
CardManager deckManager;
|
||||||
|
|
||||||
@@ -94,51 +92,41 @@ public final class CEditorConstructed extends CDeckEditor<Deck> {
|
|||||||
allSections.add(DeckSection.Planes);
|
allSections.add(DeckSection.Planes);
|
||||||
allSections.add(DeckSection.Conspiracy);
|
allSections.add(DeckSection.Conspiracy);
|
||||||
|
|
||||||
normalPool = ItemPool.createFrom(Iterables.concat(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(), FModel.getMagicDb().getCustomCards().getAllCardsNoAlt()), PaperCard.class);
|
normalPool = FModel.getAllCardsNoAlt();
|
||||||
avatarPool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_VANGUARD, PaperCard.FN_GET_RULES)), PaperCard.class);
|
avatarPool = FModel.getAvatarPool();
|
||||||
planePool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_PLANE_OR_PHENOMENON, PaperCard.FN_GET_RULES)), PaperCard.class);
|
planePool = FModel.getPlanechaseCards();
|
||||||
schemePool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_SCHEME, PaperCard.FN_GET_RULES)), PaperCard.class);
|
schemePool = FModel.getArchenemyCards();
|
||||||
conspiracyPool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_CONSPIRACY, PaperCard.FN_GET_RULES)), PaperCard.class);
|
conspiracyPool = FModel.getConspiracyPool();
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case Commander:
|
case Commander:
|
||||||
allSections.add(DeckSection.Commander);
|
allSections.add(DeckSection.Commander);
|
||||||
|
|
||||||
commanderFilter = CardRulesPredicates.Presets.CAN_BE_COMMANDER;
|
commanderPool = FModel.getCommanderPool();
|
||||||
commanderPool = ItemPool.createFrom(Iterables.concat(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), FModel.getMagicDb().getCustomCards().getAllCardsNoAlt(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES))), PaperCard.class);
|
normalPool = FModel.getAllCardsNoAlt();
|
||||||
normalPool = ItemPool.createFrom(Iterables.concat(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(), FModel.getMagicDb().getCustomCards().getAllCardsNoAlt()), PaperCard.class);
|
|
||||||
|
|
||||||
wantUnique = true;
|
wantUnique = true;
|
||||||
break;
|
break;
|
||||||
case TinyLeaders:
|
case TinyLeaders:
|
||||||
allSections.add(DeckSection.Commander);
|
allSections.add(DeckSection.Commander);
|
||||||
|
|
||||||
commanderFilter = CardRulesPredicates.Presets.CAN_BE_TINY_LEADERS_COMMANDER;
|
commanderPool = FModel.getTinyLeadersCommander();
|
||||||
commanderPool = ItemPool.createFrom(Iterables.concat(
|
normalPool = FModel.getAllCardsNoAlt();
|
||||||
FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)),
|
|
||||||
FModel.getMagicDb().getCustomCards().getAllCardsNoAlt(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES))), PaperCard.class);
|
|
||||||
normalPool = ItemPool.createFrom(Iterables.concat(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(), FModel.getMagicDb().getCustomCards().getAllCardsNoAlt()), PaperCard.class);
|
|
||||||
|
|
||||||
wantUnique = true;
|
wantUnique = true;
|
||||||
break;
|
break;
|
||||||
case Oathbreaker:
|
case Oathbreaker:
|
||||||
allSections.add(DeckSection.Commander);
|
allSections.add(DeckSection.Commander);
|
||||||
|
|
||||||
commanderFilter = Predicates.or(CardRulesPredicates.Presets.CAN_BE_OATHBREAKER, CardRulesPredicates.Presets.CAN_BE_SIGNATURE_SPELL);
|
commanderPool = FModel.getOathbreakerCommander();
|
||||||
commanderPool = ItemPool.createFrom(Iterables.concat(
|
normalPool = FModel.getAllCardsNoAlt();
|
||||||
FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)),
|
|
||||||
FModel.getMagicDb().getCustomCards().getAllCardsNoAlt(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES))), PaperCard.class);
|
|
||||||
normalPool = ItemPool.createFrom(Iterables.concat(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(), FModel.getMagicDb().getCustomCards().getAllCardsNoAlt()), PaperCard.class);
|
|
||||||
|
|
||||||
wantUnique = true;
|
wantUnique = true;
|
||||||
break;
|
break;
|
||||||
case Brawl:
|
case Brawl:
|
||||||
allSections.add(DeckSection.Commander);
|
allSections.add(DeckSection.Commander);
|
||||||
|
|
||||||
commanderFilter = CardRulesPredicates.Presets.CAN_BE_BRAWL_COMMANDER;
|
commanderPool = FModel.getBrawlCommander();
|
||||||
commanderPool = ItemPool.createFrom(Iterables.concat(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(Predicates.and(
|
|
||||||
FModel.getFormats().get("Brawl").getFilterPrinted(), Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES))), FModel.getMagicDb().getCustomCards().getAllCardsNoAlt(Predicates.and(
|
|
||||||
FModel.getFormats().get("Brawl").getFilterPrinted(), Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)))), PaperCard.class);
|
|
||||||
normalPool = ItemPool.createFrom(FModel.getFormats().get("Brawl").getAllCards(), PaperCard.class);
|
normalPool = ItemPool.createFrom(FModel.getFormats().get("Brawl").getAllCards(), PaperCard.class);
|
||||||
|
|
||||||
wantUnique = true;
|
wantUnique = true;
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ public final class FModel {
|
|||||||
private static IStorage<ConquestPlane> planes;
|
private static IStorage<ConquestPlane> planes;
|
||||||
private static IStorage<QuestWorld> worlds;
|
private static IStorage<QuestWorld> worlds;
|
||||||
private static GameFormat.Collection formats;
|
private static GameFormat.Collection formats;
|
||||||
private static ItemPool<PaperCard> uniqueCardsNoAlt, allCardsNoAlt, planechaseCards, archenemyCards;
|
private static ItemPool<PaperCard> uniqueCardsNoAlt, allCardsNoAlt, planechaseCards, archenemyCards, brawlCommander, oathbreakerCommander, tinyLeadersCommander, commanderPool, avatarPool, conspiracyPool;
|
||||||
|
|
||||||
public static void initialize(final IProgressBar progressBar, Function<ForgePreferences, Void> adjustPrefs) {
|
public static void initialize(final IProgressBar progressBar, Function<ForgePreferences, Void> adjustPrefs) {
|
||||||
//init version to log
|
//init version to log
|
||||||
@@ -277,11 +277,29 @@ public final class FModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//preload Itempool
|
|
||||||
uniqueCardsNoAlt = ItemPool.createFrom(Iterables.concat(getMagicDb().getCommonCards().getUniqueCardsNoAlt(), getMagicDb().getCustomCards().getUniqueCardsNoAlt()), PaperCard.class);
|
|
||||||
allCardsNoAlt = ItemPool.createFrom(Iterables.concat(getMagicDb().getCommonCards().getAllCardsNoAlt(), getMagicDb().getCustomCards().getAllCardsNoAlt()), PaperCard.class);
|
allCardsNoAlt = ItemPool.createFrom(Iterables.concat(getMagicDb().getCommonCards().getAllCardsNoAlt(), getMagicDb().getCustomCards().getAllCardsNoAlt()), PaperCard.class);
|
||||||
archenemyCards = ItemPool.createFrom(getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_SCHEME, PaperCard.FN_GET_RULES)), PaperCard.class);
|
archenemyCards = ItemPool.createFrom(getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_SCHEME, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
planechaseCards = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_PLANE_OR_PHENOMENON, PaperCard.FN_GET_RULES)), PaperCard.class);
|
planechaseCards = ItemPool.createFrom(getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_PLANE_OR_PHENOMENON, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
|
if (GuiBase.getInterface().isLibgdxPort()) {
|
||||||
|
//preload mobile Itempool
|
||||||
|
uniqueCardsNoAlt = ItemPool.createFrom(Iterables.concat(getMagicDb().getCommonCards().getUniqueCardsNoAlt(), getMagicDb().getCustomCards().getUniqueCardsNoAlt()), PaperCard.class);
|
||||||
|
} else {
|
||||||
|
//preload Desktop Itempool
|
||||||
|
commanderPool = ItemPool.createFrom(Iterables.concat(
|
||||||
|
getMagicDb().getCommonCards().getAllCardsNoAlt(Predicates.compose(CardRulesPredicates.Presets.CAN_BE_COMMANDER, PaperCard.FN_GET_RULES)),
|
||||||
|
getMagicDb().getCustomCards().getAllCardsNoAlt(Predicates.compose(CardRulesPredicates.Presets.CAN_BE_COMMANDER, PaperCard.FN_GET_RULES))), PaperCard.class);
|
||||||
|
brawlCommander = ItemPool.createFrom(Iterables.concat(getMagicDb().getCommonCards().getAllCardsNoAlt(Predicates.and(
|
||||||
|
FModel.getFormats().get("Brawl").getFilterPrinted(), Predicates.compose(CardRulesPredicates.Presets.CAN_BE_BRAWL_COMMANDER, PaperCard.FN_GET_RULES))), getMagicDb().getCustomCards().getAllCardsNoAlt(Predicates.and(
|
||||||
|
FModel.getFormats().get("Brawl").getFilterPrinted(), Predicates.compose(CardRulesPredicates.Presets.CAN_BE_BRAWL_COMMANDER, PaperCard.FN_GET_RULES)))), PaperCard.class);
|
||||||
|
oathbreakerCommander = ItemPool.createFrom(Iterables.concat(
|
||||||
|
getMagicDb().getCommonCards().getAllCardsNoAlt(Predicates.compose(Predicates.or(CardRulesPredicates.Presets.CAN_BE_OATHBREAKER, CardRulesPredicates.Presets.CAN_BE_SIGNATURE_SPELL), PaperCard.FN_GET_RULES)),
|
||||||
|
getMagicDb().getCustomCards().getAllCardsNoAlt(Predicates.compose(Predicates.or(CardRulesPredicates.Presets.CAN_BE_OATHBREAKER, CardRulesPredicates.Presets.CAN_BE_SIGNATURE_SPELL), PaperCard.FN_GET_RULES))), PaperCard.class);
|
||||||
|
tinyLeadersCommander = ItemPool.createFrom(Iterables.concat(
|
||||||
|
getMagicDb().getCommonCards().getAllCardsNoAlt(Predicates.compose(CardRulesPredicates.Presets.CAN_BE_TINY_LEADERS_COMMANDER, PaperCard.FN_GET_RULES)),
|
||||||
|
getMagicDb().getCustomCards().getAllCardsNoAlt(Predicates.compose(CardRulesPredicates.Presets.CAN_BE_TINY_LEADERS_COMMANDER, PaperCard.FN_GET_RULES))), PaperCard.class);
|
||||||
|
avatarPool = ItemPool.createFrom(getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_VANGUARD, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
|
conspiracyPool = ItemPool.createFrom(getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_CONSPIRACY, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean deckGenMatrixLoaded=false;
|
private static boolean deckGenMatrixLoaded=false;
|
||||||
@@ -314,6 +332,30 @@ public final class FModel {
|
|||||||
return planechaseCards;
|
return planechaseCards;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static ItemPool<PaperCard> getBrawlCommander() {
|
||||||
|
return brawlCommander;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemPool<PaperCard> getOathbreakerCommander() {
|
||||||
|
return oathbreakerCommander;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemPool<PaperCard> getTinyLeadersCommander() {
|
||||||
|
return tinyLeadersCommander;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemPool<PaperCard> getCommanderPool() {
|
||||||
|
return commanderPool;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemPool<PaperCard> getAvatarPool() {
|
||||||
|
return avatarPool;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemPool<PaperCard> getConspiracyPool() {
|
||||||
|
return conspiracyPool;
|
||||||
|
}
|
||||||
|
|
||||||
private static boolean keywordsLoaded = false;
|
private static boolean keywordsLoaded = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user