diff --git a/forge-core/src/main/java/forge/StaticData.java b/forge-core/src/main/java/forge/StaticData.java index 13503f50d71..9d402daa94d 100644 --- a/forge-core/src/main/java/forge/StaticData.java +++ b/forge-core/src/main/java/forge/StaticData.java @@ -102,9 +102,4 @@ public class StaticData { return variantCards; } - public List getAllCards() { - List cards = new ArrayList(commonCards.getAllCards()); - cards.addAll(variantCards.getAllCards()); - return cards; - } } diff --git a/forge-core/src/main/java/forge/card/CardDb.java b/forge-core/src/main/java/forge/card/CardDb.java index 757e9aa2b52..01152284db9 100644 --- a/forge-core/src/main/java/forge/card/CardDb.java +++ b/forge-core/src/main/java/forge/card/CardDb.java @@ -321,6 +321,11 @@ public final class CardDb implements ICardDatabase { return Lists.newArrayList(Iterables.filter(this.roAllCards, predicate)); } + @Override + public Iterator iterator() { + return this.roAllCards.iterator(); + } + public Predicate wasPrintedInSets(List setCodes) { return new PredicateExistsInSets(setCodes); } diff --git a/forge-core/src/main/java/forge/card/ICardDatabase.java b/forge-core/src/main/java/forge/card/ICardDatabase.java index 538254b54c2..25fdafa4d0c 100644 --- a/forge-core/src/main/java/forge/card/ICardDatabase.java +++ b/forge-core/src/main/java/forge/card/ICardDatabase.java @@ -8,7 +8,7 @@ import com.google.common.base.Predicate; import forge.item.PaperCard; -public interface ICardDatabase { +public interface ICardDatabase extends Iterable { PaperCard tryGetCard(String cardName); PaperCard tryGetCard(String cardName, boolean fromLastSet); PaperCard tryGetCard(String cardName, String edition); diff --git a/forge-core/src/main/java/forge/card/mana/ManaCost.java b/forge-core/src/main/java/forge/card/mana/ManaCost.java index 04909bba31e..7f6cca397e2 100644 --- a/forge-core/src/main/java/forge/card/mana/ManaCost.java +++ b/forge-core/src/main/java/forge/card/mana/ManaCost.java @@ -100,20 +100,18 @@ public final class ManaCost implements Comparable { return "{" + this.genericCost + "}"; } - final StringBuilder xb = new StringBuilder(); final StringBuilder sb = new StringBuilder(); if (this.genericCost > 0) { sb.append("{" + this.genericCost + "}"); } for (final ManaCostShard s : this.shards) { if (s == ManaCostShard.X) { - xb.append(s.toString()); - } - else { + sb.insert(0, s.toString()); + } else { sb.append(s.toString()); } } - return xb.toString() + sb.toString(); + return sb.toString(); } /** diff --git a/forge-gui/src/main/java/forge/gui/workshop/views/VWorkshopCatalog.java b/forge-gui/src/main/java/forge/gui/workshop/views/VWorkshopCatalog.java index 39fa8fed7de..952c9d02e10 100644 --- a/forge-gui/src/main/java/forge/gui/workshop/views/VWorkshopCatalog.java +++ b/forge-gui/src/main/java/forge/gui/workshop/views/VWorkshopCatalog.java @@ -17,6 +17,8 @@ import net.miginfocom.swing.MigLayout; import org.apache.commons.lang3.tuple.Pair; +import com.google.common.collect.Iterables; + import forge.Command; import forge.Singletons; import forge.gui.WrapLayout; @@ -125,18 +127,19 @@ public enum VWorkshopCatalog implements IVDoc { } this.cardManager = new CardManager(this.statLabels, true); - this.cardManager.setPool(ItemPool.createFrom(Singletons.getMagicDb().getAllCards(), PaperCard.class), true); + Iterable allCards = Iterables.concat(Singletons.getMagicDb().getCommonCards(), Singletons.getMagicDb().getVariantCards()); + this.cardManager.setPool(ItemPool.createFrom(allCards, PaperCard.class), true); this.cardManagerContainer.setItemManager(this.cardManager); this.cardManager.addSelectionListener(new ListSelectionListener() { - @Override - public void valueChanged(ListSelectionEvent e) { - PaperCard card = cardManager.getSelectedItem(); - CDetail.SINGLETON_INSTANCE.showCard(card); - CPicture.SINGLETON_INSTANCE.showImage(card); - CCardScript.SINGLETON_INSTANCE.showCard(card); - } - }); + @Override + public void valueChanged(ListSelectionEvent e) { + PaperCard card = cardManager.getSelectedItem(); + CDetail.SINGLETON_INSTANCE.showCard(card); + CPicture.SINGLETON_INSTANCE.showImage(card); + CCardScript.SINGLETON_INSTANCE.showCard(card); + } + }); } private void _setupSpinner (JSpinner spinner) {