Add in color identity as a sortable option in the deck editor and draft editor

This commit is contained in:
spjspj 2021-06-18 00:36:38 +10:00
parent e15217abb2
commit ae2787f119
5 changed files with 20 additions and 1 deletions

View file

@ -141,6 +141,7 @@
// new mana render (svg support) // new mana render (svg support)
mainTable.getColumnModel().getColumn(mainModel.COLUMN_INDEX_COST).setCellRenderer(new ManaSymbolsCellRenderer()); mainTable.getColumnModel().getColumn(mainModel.COLUMN_INDEX_COST).setCellRenderer(new ManaSymbolsCellRenderer());
mainTable.getColumnModel().getColumn(mainModel.COLUMN_INDEX_COLOR_IDENTITY).setCellRenderer(new ManaSymbolsCellRenderer());
if (PreferencesDialog.getCachedValue(PreferencesDialog.KEY_DRAFT_VIEW, "cardView").equals("listView")) { if (PreferencesDialog.getCachedValue(PreferencesDialog.KEY_DRAFT_VIEW, "cardView").equals("listView")) {
jToggleListView.setSelected(true); jToggleListView.setSelected(true);

View file

@ -127,6 +127,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
// new mana render (svg support) // new mana render (svg support)
mainTable.getColumnModel().getColumn(mainModel.COLUMN_INDEX_COST).setCellRenderer(new ManaSymbolsCellRenderer()); mainTable.getColumnModel().getColumn(mainModel.COLUMN_INDEX_COST).setCellRenderer(new ManaSymbolsCellRenderer());
mainTable.getColumnModel().getColumn(mainModel.COLUMN_INDEX_COLOR_IDENTITY).setCellRenderer(new ManaSymbolsCellRenderer());
// mainTable.setToolTipText(cardSelectorScrollPane.getToolTipText()); // mainTable.setToolTipText(cardSelectorScrollPane.getToolTipText());
cardSelectorScrollPane.setViewportView(mainTable); cardSelectorScrollPane.setViewportView(mainTable);

View file

@ -86,6 +86,10 @@ public class MageCardComparator implements CardViewComparator {
aCom = RateCard.rateCard(a.getOriginalCard(), null); aCom = RateCard.rateCard(a.getOriginalCard(), null);
bCom = RateCard.rateCard(b.getOriginalCard(), null); bCom = RateCard.rateCard(b.getOriginalCard(), null);
break; break;
case 10:
aCom = a.getColorIdentityStr();
bCom = b.getColorIdentityStr();
break;
default: default:
break; break;
} }

View file

@ -51,9 +51,10 @@ public class TableModel extends AbstractTableModel implements ICardGrid {
private boolean displayNoCopies = false; private boolean displayNoCopies = false;
private UpdateCountsCallback updateCountsCallback; private UpdateCountsCallback updateCountsCallback;
private final String[] column = {"Qty", "Name", "Cost", "Color", "Type", "Stats", "Rarity", "Set", "Card number", "Draft Rating"}; private final String[] column = {"Qty", "Name", "Cost", "Color", "Type", "Stats", "Rarity", "Set", "Card number", "Draft Rating", "Color Identity"};
public final int COLUMN_INDEX_COST = 2; public final int COLUMN_INDEX_COST = 2;
public final int COLUMN_INDEX_RATING = 9; public final int COLUMN_INDEX_RATING = 9;
public final int COLUMN_INDEX_COLOR_IDENTITY = 10;
private SortSetting sortSetting; private SortSetting sortSetting;
private int recentSortedColumn; private int recentSortedColumn;
@ -227,6 +228,7 @@ public class TableModel extends AbstractTableModel implements ICardGrid {
case 2: case 2:
// new svg images version // new svg images version
return ManaSymbols.getClearManaCost(c.getManaCostStr()); return ManaSymbols.getClearManaCost(c.getManaCostStr());
/* /*
// old html images version // old html images version
String manaCost = ""; String manaCost = "";
@ -253,6 +255,8 @@ public class TableModel extends AbstractTableModel implements ICardGrid {
return c.getCardNumber(); return c.getCardNumber();
case 9: case 9:
return RateCard.rateCard(c.getOriginalCard(), null); return RateCard.rateCard(c.getOriginalCard(), null);
case 10:
return ManaSymbols.getClearManaCost(c.getColorIdentityStr());
default: default:
return "error"; return "error";
} }

View file

@ -18,6 +18,7 @@ import mage.constants.*;
import mage.counters.Counter; import mage.counters.Counter;
import mage.counters.CounterType; import mage.counters.CounterType;
import mage.designations.Designation; import mage.designations.Designation;
import mage.filter.FilterMana;
import mage.game.Game; import mage.game.Game;
import mage.game.command.Emblem; import mage.game.command.Emblem;
import mage.game.command.Plane; import mage.game.command.Plane;
@ -856,6 +857,14 @@ public class CardView extends SimpleCardView {
return rarity; return rarity;
} }
public String getColorIdentityStr() {
FilterMana filterMana = originalCard.getColorIdentity();
if (filterMana.getColorCount() == 0) {
return CardUtil.concatManaSymbols(CardInfo.SPLIT_MANA_SEPARATOR_FULL, "{C}", "");
}
return CardUtil.concatManaSymbols(CardInfo.SPLIT_MANA_SEPARATOR_FULL, filterMana.toString(), "");
}
@Override @Override
public String getExpansionSetCode() { public String getExpansionSetCode() {
if (expansionSetCode == null) { if (expansionSetCode == null) {