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)
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")) {
jToggleListView.setSelected(true);

View file

@ -127,6 +127,7 @@ public class CardSelector extends javax.swing.JPanel implements ComponentListene
// new mana render (svg support)
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());
cardSelectorScrollPane.setViewportView(mainTable);

View file

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

View file

@ -51,9 +51,10 @@ public class TableModel extends AbstractTableModel implements ICardGrid {
private boolean displayNoCopies = false;
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_RATING = 9;
public final int COLUMN_INDEX_COLOR_IDENTITY = 10;
private SortSetting sortSetting;
private int recentSortedColumn;
@ -227,6 +228,7 @@ public class TableModel extends AbstractTableModel implements ICardGrid {
case 2:
// new svg images version
return ManaSymbols.getClearManaCost(c.getManaCostStr());
/*
// old html images version
String manaCost = "";
@ -253,6 +255,8 @@ public class TableModel extends AbstractTableModel implements ICardGrid {
return c.getCardNumber();
case 9:
return RateCard.rateCard(c.getOriginalCard(), null);
case 10:
return ManaSymbols.getClearManaCost(c.getColorIdentityStr());
default:
return "error";
}

View file

@ -18,6 +18,7 @@ import mage.constants.*;
import mage.counters.Counter;
import mage.counters.CounterType;
import mage.designations.Designation;
import mage.filter.FilterMana;
import mage.game.Game;
import mage.game.command.Emblem;
import mage.game.command.Plane;
@ -856,6 +857,14 @@ public class CardView extends SimpleCardView {
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
public String getExpansionSetCode() {
if (expansionSetCode == null) {