mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 02:38:02 +00:00
[Mobile] Refactor preloading ItemPool
Dont preload ItemPool on Android devices with less than 5GB RAM and Desktop/Mobile port
This commit is contained in:
@@ -277,6 +277,10 @@ public final class FModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GuiBase.getInterface().isLibgdxPort() && GuiBase.getDeviceRAM() < 5000)
|
||||||
|
return; // don't preload ItemPool on mobile port with less than 5GB RAM
|
||||||
|
|
||||||
|
//common ItemPool to preload
|
||||||
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(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);
|
||||||
@@ -317,42 +321,70 @@ public final class FModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static ItemPool<PaperCard> getUniqueCardsNoAlt() {
|
public static ItemPool<PaperCard> getUniqueCardsNoAlt() {
|
||||||
|
if (uniqueCardsNoAlt == null)
|
||||||
|
return ItemPool.createFrom(Iterables.concat(getMagicDb().getCommonCards().getUniqueCardsNoAlt(), getMagicDb().getCustomCards().getUniqueCardsNoAlt()), PaperCard.class);
|
||||||
return uniqueCardsNoAlt;
|
return uniqueCardsNoAlt;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemPool<PaperCard> getAllCardsNoAlt() {
|
public static ItemPool<PaperCard> getAllCardsNoAlt() {
|
||||||
|
if (allCardsNoAlt == null)
|
||||||
|
return ItemPool.createFrom(Iterables.concat(getMagicDb().getCommonCards().getAllCardsNoAlt(), getMagicDb().getCustomCards().getAllCardsNoAlt()), PaperCard.class);
|
||||||
return allCardsNoAlt;
|
return allCardsNoAlt;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemPool<PaperCard> getArchenemyCards() {
|
public static ItemPool<PaperCard> getArchenemyCards() {
|
||||||
|
if (archenemyCards == null)
|
||||||
|
return ItemPool.createFrom(getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_SCHEME, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
return archenemyCards;
|
return archenemyCards;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemPool<PaperCard> getPlanechaseCards() {
|
public static ItemPool<PaperCard> getPlanechaseCards() {
|
||||||
|
if (planechaseCards == null)
|
||||||
|
return ItemPool.createFrom(getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_PLANE_OR_PHENOMENON, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
return planechaseCards;
|
return planechaseCards;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemPool<PaperCard> getBrawlCommander() {
|
public static ItemPool<PaperCard> getBrawlCommander() {
|
||||||
|
if (brawlCommander == null)
|
||||||
|
return 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);
|
||||||
return brawlCommander;
|
return brawlCommander;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemPool<PaperCard> getOathbreakerCommander() {
|
public static ItemPool<PaperCard> getOathbreakerCommander() {
|
||||||
|
if (oathbreakerCommander == null)
|
||||||
|
return 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);
|
||||||
return oathbreakerCommander;
|
return oathbreakerCommander;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemPool<PaperCard> getTinyLeadersCommander() {
|
public static ItemPool<PaperCard> getTinyLeadersCommander() {
|
||||||
|
if (tinyLeadersCommander == null)
|
||||||
|
return 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);
|
||||||
return tinyLeadersCommander;
|
return tinyLeadersCommander;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemPool<PaperCard> getCommanderPool() {
|
public static ItemPool<PaperCard> getCommanderPool() {
|
||||||
|
if (commanderPool == null)
|
||||||
|
return 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);
|
||||||
return commanderPool;
|
return commanderPool;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemPool<PaperCard> getAvatarPool() {
|
public static ItemPool<PaperCard> getAvatarPool() {
|
||||||
|
if (avatarPool == null)
|
||||||
|
return ItemPool.createFrom(getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_VANGUARD, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
return avatarPool;
|
return avatarPool;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static ItemPool<PaperCard> getConspiracyPool() {
|
public static ItemPool<PaperCard> getConspiracyPool() {
|
||||||
|
if (conspiracyPool == null)
|
||||||
|
return ItemPool.createFrom(getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_CONSPIRACY, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
return conspiracyPool;
|
return conspiracyPool;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user