diff --git a/Mage.Client/src/main/java/mage/client/cards/CardGrid.java b/Mage.Client/src/main/java/mage/client/cards/CardGrid.java index 4ba0d96b5d3..618f604a45e 100644 --- a/Mage.Client/src/main/java/mage/client/cards/CardGrid.java +++ b/Mage.Client/src/main/java/mage/client/cards/CardGrid.java @@ -156,6 +156,9 @@ public class CardGrid extends javax.swing.JLayeredPane implements MouseListener, case NAME: Collections.sort(sortedCards, new CardNameComparator()); break; + case CARD_TYPE: + Collections.sort(sortedCards, new CardTypeComparator()); + break; case RARITY: Collections.sort(sortedCards, new CardRarityComparator()); break; @@ -183,6 +186,12 @@ public class CardGrid extends javax.swing.JLayeredPane implements MouseListener, curRow = 0; } break; + case CARD_TYPE: + if (!cardImg.getOriginal().getCardTypes().equals(lastCard.getOriginal().getCardTypes())) { + curColumn++; + curRow = 0; + } + break; case RARITY: if (!cardImg.getOriginal().getRarity().equals(lastCard.getOriginal().getRarity())) { curColumn++; @@ -438,3 +447,17 @@ class CardColorDetailedIdentity implements Comparator { } } + +class CardTypeComparator implements Comparator { + + @Override + public int compare(MageCard o1, MageCard o2) { + int val = o1.getOriginal().getCardTypes().toString().compareTo(o2.getOriginal().getCardTypes().toString()); + if (val == 0) { + return o1.getOriginal().getName().compareTo(o2.getOriginal().getName()); + } else { + return val; + } + } + +}