mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 20:58:03 +00:00
refactor carddb for Deck Editor/Workshop Catalog
This commit is contained in:
@@ -37,7 +37,6 @@ public class StaticData {
|
|||||||
|
|
||||||
private final String blockDataFolder;
|
private final String blockDataFolder;
|
||||||
private final CardDb commonCards;
|
private final CardDb commonCards;
|
||||||
private final CardDb commonCardsforDeckEditor;
|
|
||||||
private final CardDb variantCards;
|
private final CardDb variantCards;
|
||||||
private final CardDb customCards;
|
private final CardDb customCards;
|
||||||
private final TokenDb allTokens;
|
private final TokenDb allTokens;
|
||||||
@@ -109,14 +108,11 @@ public class StaticData {
|
|||||||
commonCards = new CardDb(regularCards, editions);
|
commonCards = new CardDb(regularCards, editions);
|
||||||
variantCards = new CardDb(variantsCards, editions);
|
variantCards = new CardDb(variantsCards, editions);
|
||||||
customCards = new CardDb(customizedCards, customEditions);
|
customCards = new CardDb(customizedCards, customEditions);
|
||||||
commonCardsforDeckEditor = new CardDb(regularCards, editions);
|
|
||||||
|
|
||||||
//must initialize after establish field values for the sake of card image logic
|
//must initialize after establish field values for the sake of card image logic
|
||||||
commonCards.initialize(false, false, enableUnknownCards, loadNonLegalCards, false);
|
commonCards.initialize(false, false, enableUnknownCards, loadNonLegalCards);
|
||||||
variantCards.initialize(false, false, enableUnknownCards, loadNonLegalCards, false);
|
variantCards.initialize(false, false, enableUnknownCards, loadNonLegalCards);
|
||||||
customCards.initialize(false, false, enableUnknownCards, loadNonLegalCards, false);
|
customCards.initialize(false, false, enableUnknownCards, loadNonLegalCards);
|
||||||
//cannot filter commonCards unless we don't allow to put duplicate parts on database, commonCardsforDeckEditor is strictly for Deck Editor use
|
|
||||||
commonCardsforDeckEditor.initialize(false, false, enableUnknownCards, loadNonLegalCards, true);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -135,7 +131,6 @@ public class StaticData {
|
|||||||
Collection<PaperCard> paperCards = customCards.getAllCards();
|
Collection<PaperCard> paperCards = customCards.getAllCards();
|
||||||
for(PaperCard p: paperCards) {
|
for(PaperCard p: paperCards) {
|
||||||
commonCards.addCard(p);
|
commonCards.addCard(p);
|
||||||
commonCardsforDeckEditor.addCard(p, true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -245,13 +240,7 @@ public class StaticData {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public CardDb getCommonCards() {
|
public CardDb getCommonCards() {
|
||||||
return getCommonCards(true);
|
return commonCards;
|
||||||
}
|
|
||||||
|
|
||||||
public CardDb getCommonCards(boolean includeBackSides) {
|
|
||||||
if (includeBackSides)
|
|
||||||
return commonCards;
|
|
||||||
return commonCardsforDeckEditor;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public CardDb getCustomCards() {
|
public CardDb getCustomCards() {
|
||||||
|
|||||||
@@ -58,6 +58,8 @@ public final class CardDb implements ICardDatabase, IDeckGenPool {
|
|||||||
|
|
||||||
// need this to obtain cardReference by name+set+artindex
|
// need this to obtain cardReference by name+set+artindex
|
||||||
private final ListMultimap<String, PaperCard> allCardsByName = Multimaps.newListMultimap(new TreeMap<>(String.CASE_INSENSITIVE_ORDER), CollectionSuppliers.arrayLists());
|
private final ListMultimap<String, PaperCard> allCardsByName = Multimaps.newListMultimap(new TreeMap<>(String.CASE_INSENSITIVE_ORDER), CollectionSuppliers.arrayLists());
|
||||||
|
// for deck editor only
|
||||||
|
private final ListMultimap<String, PaperCard> allCardsByNameNoAlt = Multimaps.newListMultimap(new TreeMap<>(String.CASE_INSENSITIVE_ORDER), CollectionSuppliers.arrayLists());
|
||||||
private final Map<String, PaperCard> uniqueCardsByName = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER);
|
private final Map<String, PaperCard> uniqueCardsByName = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER);
|
||||||
private final Map<String, CardRules> rulesByName;
|
private final Map<String, CardRules> rulesByName;
|
||||||
private final Map<String, ICardFace> facesByName = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER);
|
private final Map<String, ICardFace> facesByName = Maps.newTreeMap(String.CASE_INSENSITIVE_ORDER);
|
||||||
@@ -67,6 +69,7 @@ public final class CardDb implements ICardDatabase, IDeckGenPool {
|
|||||||
private final Map<String, Integer> artIds = new HashMap<>();
|
private final Map<String, Integer> artIds = new HashMap<>();
|
||||||
|
|
||||||
private final Collection<PaperCard> roAllCards = Collections.unmodifiableCollection(allCardsByName.values());
|
private final Collection<PaperCard> roAllCards = Collections.unmodifiableCollection(allCardsByName.values());
|
||||||
|
private final Collection<PaperCard> roAllCardsNoAlt = Collections.unmodifiableCollection(allCardsByNameNoAlt.values());
|
||||||
private final CardEdition.Collection editions;
|
private final CardEdition.Collection editions;
|
||||||
|
|
||||||
public enum SetPreference {
|
public enum SetPreference {
|
||||||
@@ -156,9 +159,6 @@ public final class CardDb implements ICardDatabase, IDeckGenPool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void addSetCard(CardEdition e, CardInSet cis, CardRules cr) {
|
private void addSetCard(CardEdition e, CardInSet cis, CardRules cr) {
|
||||||
addSetCard(e, cis, cr, false);
|
|
||||||
}
|
|
||||||
private void addSetCard(CardEdition e, CardInSet cis, CardRules cr, boolean noSplitTypesNames) {
|
|
||||||
int artIdx = 1;
|
int artIdx = 1;
|
||||||
String key = e.getCode() + "/" + cis.name;
|
String key = e.getCode() + "/" + cis.name;
|
||||||
if (artIds.containsKey(key)) {
|
if (artIds.containsKey(key)) {
|
||||||
@@ -166,7 +166,7 @@ public final class CardDb implements ICardDatabase, IDeckGenPool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
artIds.put(key, artIdx);
|
artIds.put(key, artIdx);
|
||||||
addCard(new PaperCard(cr, e.getCode(), cis.rarity, artIdx), noSplitTypesNames);
|
addCard(new PaperCard(cr, e.getCode(), cis.rarity, artIdx));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void loadCard(String cardName, CardRules cr) {
|
public void loadCard(String cardName, CardRules cr) {
|
||||||
@@ -185,7 +185,7 @@ public final class CardDb implements ICardDatabase, IDeckGenPool {
|
|||||||
reIndex();
|
reIndex();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void initialize(boolean logMissingPerEdition, boolean logMissingSummary, boolean enableUnknownCards, boolean loadNonLegalCards, boolean noSplitTypesNames) {
|
public void initialize(boolean logMissingPerEdition, boolean logMissingSummary, boolean enableUnknownCards, boolean loadNonLegalCards) {
|
||||||
Set<String> allMissingCards = new LinkedHashSet<>();
|
Set<String> allMissingCards = new LinkedHashSet<>();
|
||||||
List<String> missingCards = new ArrayList<>();
|
List<String> missingCards = new ArrayList<>();
|
||||||
CardEdition upcomingSet = null;
|
CardEdition upcomingSet = null;
|
||||||
@@ -213,7 +213,7 @@ public final class CardDb implements ICardDatabase, IDeckGenPool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (cr != null) {
|
if (cr != null) {
|
||||||
addSetCard(e, cis, cr, noSplitTypesNames);
|
addSetCard(e, cis, cr);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
missingCards.add(cis.name);
|
missingCards.add(cis.name);
|
||||||
@@ -258,12 +258,8 @@ public final class CardDb implements ICardDatabase, IDeckGenPool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void addCard(PaperCard paperCard) {
|
public void addCard(PaperCard paperCard) {
|
||||||
addCard(paperCard, false);
|
|
||||||
}
|
|
||||||
public void addCard(PaperCard paperCard, boolean noSplitTypesNames) {
|
|
||||||
allCardsByName.put(paperCard.getName(), paperCard);
|
allCardsByName.put(paperCard.getName(), paperCard);
|
||||||
|
allCardsByNameNoAlt.put(paperCard.getName(), paperCard);
|
||||||
if (noSplitTypesNames) { return; }
|
|
||||||
|
|
||||||
if (paperCard.getRules().getSplitType() == CardSplitType.None) { return; }
|
if (paperCard.getRules().getSplitType() == CardSplitType.None) { return; }
|
||||||
|
|
||||||
@@ -586,6 +582,10 @@ public final class CardDb implements ICardDatabase, IDeckGenPool {
|
|||||||
return roAllCards;
|
return roAllCards;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Collection<PaperCard> getAllCardsNoAlt() {
|
||||||
|
return roAllCardsNoAlt;
|
||||||
|
}
|
||||||
|
|
||||||
public Collection<PaperCard> getAllNonPromoCards() {
|
public Collection<PaperCard> getAllNonPromoCards() {
|
||||||
return Lists.newArrayList(Iterables.filter(this.roAllCards, new Predicate<PaperCard>() {
|
return Lists.newArrayList(Iterables.filter(this.roAllCards, new Predicate<PaperCard>() {
|
||||||
@Override
|
@Override
|
||||||
@@ -613,12 +613,21 @@ public final class CardDb implements ICardDatabase, IDeckGenPool {
|
|||||||
return allCardsByName.get(getName(cardName));
|
return allCardsByName.get(getName(cardName));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<PaperCard> getAllCardsNoAlt(String cardName) {
|
||||||
|
return allCardsByNameNoAlt.get(getName(cardName));
|
||||||
|
}
|
||||||
|
|
||||||
/** Returns a modifiable list of cards matching the given predicate */
|
/** Returns a modifiable list of cards matching the given predicate */
|
||||||
@Override
|
@Override
|
||||||
public List<PaperCard> getAllCards(Predicate<PaperCard> predicate) {
|
public List<PaperCard> getAllCards(Predicate<PaperCard> predicate) {
|
||||||
return Lists.newArrayList(Iterables.filter(this.roAllCards, predicate));
|
return Lists.newArrayList(Iterables.filter(this.roAllCards, predicate));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Returns a modifiable list of cards matching the given predicate */
|
||||||
|
public List<PaperCard> getAllCardsNoAlt(Predicate<PaperCard> predicate) {
|
||||||
|
return Lists.newArrayList(Iterables.filter(this.roAllCardsNoAlt, predicate));
|
||||||
|
}
|
||||||
|
|
||||||
// Do I want a foiled version of these cards?
|
// Do I want a foiled version of these cards?
|
||||||
@Override
|
@Override
|
||||||
public List<PaperCard> getAllCardsFromEdition(CardEdition edition) {
|
public List<PaperCard> getAllCardsFromEdition(CardEdition edition) {
|
||||||
|
|||||||
@@ -82,11 +82,11 @@ public final class CEditorCommander extends CDeckEditor<Deck> {
|
|||||||
allSections.add(DeckSection.Sideboard);
|
allSections.add(DeckSection.Sideboard);
|
||||||
allSections.add(DeckSection.Commander);
|
allSections.add(DeckSection.Commander);
|
||||||
|
|
||||||
CardDb commonCards = FModel.getMagicDb().getCommonCards(false);
|
CardDb commonCards = FModel.getMagicDb().getCommonCards();
|
||||||
if (gameType == GameType.Brawl){
|
if (gameType == GameType.Brawl){
|
||||||
GameFormat format = FModel.getFormats().get("Brawl");
|
GameFormat format = FModel.getFormats().get("Brawl");
|
||||||
Predicate<CardRules> commanderFilter = CardRulesPredicates.Presets.CAN_BE_BRAWL_COMMANDER;
|
Predicate<CardRules> commanderFilter = CardRulesPredicates.Presets.CAN_BE_BRAWL_COMMANDER;
|
||||||
commanderPool = ItemPool.createFrom(commonCards.getAllCards(Predicates.and(
|
commanderPool = ItemPool.createFrom(commonCards.getAllCardsNoAlt(Predicates.and(
|
||||||
format.getFilterPrinted(), Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES))), PaperCard.class);
|
format.getFilterPrinted(), Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES))), PaperCard.class);
|
||||||
normalPool = ItemPool.createFrom(format.getAllCards(), PaperCard.class);
|
normalPool = ItemPool.createFrom(format.getAllCards(), PaperCard.class);
|
||||||
}
|
}
|
||||||
@@ -94,8 +94,8 @@ public final class CEditorCommander extends CDeckEditor<Deck> {
|
|||||||
Predicate<CardRules> commanderFilter = gameType == GameType.Oathbreaker
|
Predicate<CardRules> commanderFilter = gameType == GameType.Oathbreaker
|
||||||
? Predicates.or(CardRulesPredicates.Presets.CAN_BE_OATHBREAKER, CardRulesPredicates.Presets.CAN_BE_SIGNATURE_SPELL)
|
? Predicates.or(CardRulesPredicates.Presets.CAN_BE_OATHBREAKER, CardRulesPredicates.Presets.CAN_BE_SIGNATURE_SPELL)
|
||||||
: CardRulesPredicates.Presets.CAN_BE_COMMANDER;
|
: CardRulesPredicates.Presets.CAN_BE_COMMANDER;
|
||||||
commanderPool = ItemPool.createFrom(commonCards.getAllCards(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)),PaperCard.class);
|
commanderPool = ItemPool.createFrom(commonCards.getAllCardsNoAlt(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)),PaperCard.class);
|
||||||
normalPool = ItemPool.createFrom(commonCards.getAllCards(), PaperCard.class);
|
normalPool = ItemPool.createFrom(commonCards.getAllCardsNoAlt(), PaperCard.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
CardManager catalogManager = new CardManager(getCDetailPicture(), true, false);
|
CardManager catalogManager = new CardManager(getCDetailPicture(), true, false);
|
||||||
|
|||||||
@@ -93,7 +93,7 @@ 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(FModel.getMagicDb().getCommonCards(false).getAllCards(), PaperCard.class);
|
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(), PaperCard.class);
|
||||||
avatarPool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_VANGUARD, PaperCard.FN_GET_RULES)), PaperCard.class);
|
avatarPool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_VANGUARD, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
planePool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_PLANE_OR_PHENOMENON, PaperCard.FN_GET_RULES)), PaperCard.class);
|
planePool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_PLANE_OR_PHENOMENON, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
schemePool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_SCHEME, PaperCard.FN_GET_RULES)), PaperCard.class);
|
schemePool = ItemPool.createFrom(FModel.getMagicDb().getVariantCards().getAllCards(Predicates.compose(CardRulesPredicates.Presets.IS_SCHEME, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
@@ -104,8 +104,8 @@ public final class CEditorConstructed extends CDeckEditor<Deck> {
|
|||||||
allSections.add(DeckSection.Commander);
|
allSections.add(DeckSection.Commander);
|
||||||
|
|
||||||
commanderFilter = CardRulesPredicates.Presets.CAN_BE_COMMANDER;
|
commanderFilter = CardRulesPredicates.Presets.CAN_BE_COMMANDER;
|
||||||
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), PaperCard.class);
|
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(), PaperCard.class);
|
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(), PaperCard.class);
|
||||||
|
|
||||||
wantUnique = true;
|
wantUnique = true;
|
||||||
break;
|
break;
|
||||||
@@ -113,8 +113,8 @@ public final class CEditorConstructed extends CDeckEditor<Deck> {
|
|||||||
allSections.add(DeckSection.Commander);
|
allSections.add(DeckSection.Commander);
|
||||||
|
|
||||||
commanderFilter = CardRulesPredicates.Presets.CAN_BE_TINY_LEADERS_COMMANDER;
|
commanderFilter = CardRulesPredicates.Presets.CAN_BE_TINY_LEADERS_COMMANDER;
|
||||||
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), PaperCard.class);
|
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(), PaperCard.class);
|
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(), PaperCard.class);
|
||||||
|
|
||||||
wantUnique = true;
|
wantUnique = true;
|
||||||
break;
|
break;
|
||||||
@@ -122,8 +122,8 @@ public final class CEditorConstructed extends CDeckEditor<Deck> {
|
|||||||
allSections.add(DeckSection.Commander);
|
allSections.add(DeckSection.Commander);
|
||||||
|
|
||||||
commanderFilter = Predicates.or(CardRulesPredicates.Presets.CAN_BE_OATHBREAKER, CardRulesPredicates.Presets.CAN_BE_SIGNATURE_SPELL);
|
commanderFilter = Predicates.or(CardRulesPredicates.Presets.CAN_BE_OATHBREAKER, CardRulesPredicates.Presets.CAN_BE_SIGNATURE_SPELL);
|
||||||
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), PaperCard.class);
|
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES)), PaperCard.class);
|
||||||
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(), PaperCard.class);
|
normalPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(), PaperCard.class);
|
||||||
|
|
||||||
wantUnique = true;
|
wantUnique = true;
|
||||||
break;
|
break;
|
||||||
@@ -131,7 +131,7 @@ public final class CEditorConstructed extends CDeckEditor<Deck> {
|
|||||||
allSections.add(DeckSection.Commander);
|
allSections.add(DeckSection.Commander);
|
||||||
|
|
||||||
commanderFilter = CardRulesPredicates.Presets.CAN_BE_BRAWL_COMMANDER;
|
commanderFilter = CardRulesPredicates.Presets.CAN_BE_BRAWL_COMMANDER;
|
||||||
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(Predicates.and(
|
commanderPool = ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(Predicates.and(
|
||||||
FModel.getFormats().get("Brawl").getFilterPrinted(), Predicates.compose(commanderFilter, PaperCard.FN_GET_RULES))), PaperCard.class);
|
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);
|
||||||
|
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ public final class CEditorQuestCardShop extends ACEditorBase<InventoryItem, Deck
|
|||||||
|
|
||||||
private ItemPool<InventoryItem> cardsForSale;
|
private ItemPool<InventoryItem> cardsForSale;
|
||||||
private final ItemPool<InventoryItem> fullCatalogCards =
|
private final ItemPool<InventoryItem> fullCatalogCards =
|
||||||
ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(), InventoryItem.class);
|
ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(), InventoryItem.class);
|
||||||
private boolean showingFullCatalog = false;
|
private boolean showingFullCatalog = false;
|
||||||
private DragCell allDecksParent = null;
|
private DragCell allDecksParent = null;
|
||||||
private DragCell deckGenParent = null;
|
private DragCell deckGenParent = null;
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public enum VWorkshopCatalog implements IVDoc<CWorkshopCatalog> {
|
|||||||
VWorkshopCatalog() {
|
VWorkshopCatalog() {
|
||||||
this.cardManager = new CardManager(cDetailPicture, true, false);
|
this.cardManager = new CardManager(cDetailPicture, true, false);
|
||||||
this.cardManager.setCaption(localizer.getMessage("lblCatalog"));
|
this.cardManager.setCaption(localizer.getMessage("lblCatalog"));
|
||||||
final Iterable<PaperCard> allCards = Iterables.concat(FModel.getMagicDb().getCommonCards(false), FModel.getMagicDb().getVariantCards());
|
final Iterable<PaperCard> allCards = Iterables.concat(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(), FModel.getMagicDb().getVariantCards().getAllCards());
|
||||||
this.cardManager.setPool(ItemPool.createFrom(allCards, PaperCard.class), true);
|
this.cardManager.setPool(ItemPool.createFrom(allCards, PaperCard.class), true);
|
||||||
this.cardManagerContainer.setItemManager(this.cardManager);
|
this.cardManagerContainer.setItemManager(this.cardManager);
|
||||||
|
|
||||||
|
|||||||
@@ -1156,10 +1156,10 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
|
|||||||
// fall through to below
|
// fall through to below
|
||||||
default:
|
default:
|
||||||
if (cardManager.getWantUnique()) {
|
if (cardManager.getWantUnique()) {
|
||||||
cardManager.setPool(editorType.applyCardFilter(ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getUniqueCards(), PaperCard.class), additionalFilter), true);
|
cardManager.setPool(editorType.applyCardFilter(ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getUniqueCards(), PaperCard.class), additionalFilter), true);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
cardManager.setPool(editorType.applyCardFilter(ItemPool.createFrom(FModel.getMagicDb().getCommonCards(false).getAllCards(), PaperCard.class), additionalFilter), true);
|
cardManager.setPool(editorType.applyCardFilter(ItemPool.createFrom(FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(), PaperCard.class), additionalFilter), true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1243,7 +1243,7 @@ public class FDeckEditor extends TabPageScreen<FDeckEditor> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
//if card has more than one art option, add item to change user's preferred art
|
//if card has more than one art option, add item to change user's preferred art
|
||||||
final List<PaperCard> artOptions = FModel.getMagicDb().getCommonCards(false).getAllCards(card.getName());
|
final List<PaperCard> artOptions = FModel.getMagicDb().getCommonCards().getAllCardsNoAlt(card.getName());
|
||||||
if (artOptions != null && artOptions.size() > 1) {
|
if (artOptions != null && artOptions.size() > 1) {
|
||||||
menu.addItem(new FMenuItem(localizer.getMessage("lblChangePreferredArt"), Forge.hdbuttons ? FSkinImage.HDPREFERENCE : FSkinImage.SETTINGS, new FEventHandler() {
|
menu.addItem(new FMenuItem(localizer.getMessage("lblChangePreferredArt"), Forge.hdbuttons ? FSkinImage.HDPREFERENCE : FSkinImage.SETTINGS, new FEventHandler() {
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user