mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 03:08:02 +00:00
Merge remote-tracking branch 'core/master'
This commit is contained in:
@@ -18,6 +18,7 @@
|
||||
package forge.itemmanager;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
import com.google.common.collect.Iterables;
|
||||
import forge.card.*;
|
||||
import forge.card.mana.ManaCost;
|
||||
import forge.deck.DeckProxy;
|
||||
@@ -37,7 +38,9 @@ import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map.Entry;
|
||||
import java.util.Set;
|
||||
|
||||
public enum ColumnDef {
|
||||
/**
|
||||
@@ -255,6 +258,47 @@ public enum ColumnDef {
|
||||
: (ai.getRemRandomDecks() ? "?" : "");
|
||||
}
|
||||
}),
|
||||
/**
|
||||
* The card format column.
|
||||
*/
|
||||
FORMAT("lblFormat", "ttFormats", 60, false, SortState.DESC,
|
||||
new Function<Entry<InventoryItem, Integer>, Comparable<?>>() {
|
||||
@Override
|
||||
public Comparable<?> apply(final Entry<InventoryItem, Integer> from) {
|
||||
PaperCard card = toPaperCard(from.getKey());
|
||||
if (card == null) {
|
||||
return -1;
|
||||
}
|
||||
Iterable<GameFormat> formats = FModel.getFormats().getAllFormatsOfCard(card);
|
||||
int acc = 0;
|
||||
for (GameFormat gf : formats) {
|
||||
if (!gf.getFormatType().equals(GameFormat.FormatType.SANCTIONED)) {
|
||||
continue;
|
||||
}
|
||||
int ix = gf.getIndex();
|
||||
if (ix < 30 && ix > 0)
|
||||
acc |= 0x40000000 >> (ix - 1);
|
||||
}
|
||||
return acc;
|
||||
}
|
||||
},
|
||||
new Function<Entry<? extends InventoryItem, Integer>, Object>() {
|
||||
@Override
|
||||
public Object apply(final Entry<? extends InventoryItem, Integer> from) {
|
||||
PaperCard card = toPaperCard(from.getKey());
|
||||
if (card == null) {
|
||||
return -1;
|
||||
}
|
||||
Iterable<GameFormat> formats = FModel.getFormats().getAllFormatsOfCard(card);
|
||||
Set<GameFormat> sanctioned = new HashSet<>();
|
||||
for (GameFormat gf : formats) {
|
||||
if (gf.getFormatType().equals(GameFormat.FormatType.SANCTIONED)) {
|
||||
sanctioned.add(gf);
|
||||
}
|
||||
}
|
||||
return StringUtils.join(Iterables.transform(sanctioned, GameFormat.FN_GET_NAME), ", ");
|
||||
}
|
||||
}),
|
||||
/**
|
||||
* The Draft ranking column.
|
||||
*/
|
||||
@@ -550,6 +594,10 @@ public enum ColumnDef {
|
||||
return i instanceof IPaperCard ? ((IPaperCard) i) : null;
|
||||
}
|
||||
|
||||
private static PaperCard toPaperCard(final InventoryItem i) {
|
||||
return i instanceof PaperCard ? ((PaperCard) i) : null;
|
||||
}
|
||||
|
||||
private static ManaCost toManaCost(final InventoryItem i) {
|
||||
return i instanceof IPaperCard ? ((IPaperCard) i).getRules().getManaCost() : ManaCost.NO_COST;
|
||||
}
|
||||
|
||||
@@ -84,12 +84,14 @@ public final class SColumnUtil {
|
||||
colDefs.add(ColumnDef.CMC);
|
||||
colDefs.add(ColumnDef.RARITY);
|
||||
colDefs.add(ColumnDef.SET);
|
||||
colDefs.add(ColumnDef.FORMAT);
|
||||
colDefs.add(ColumnDef.AI);
|
||||
colDefs.add(ColumnDef.RANKING);
|
||||
colDefs.add(ColumnDef.COLLECTOR_ORDER);
|
||||
|
||||
Map<ColumnDef, ItemColumnConfig> columns = getColumns(colDefs);
|
||||
columns.get(ColumnDef.AI).setVisible(false);
|
||||
columns.get(ColumnDef.FORMAT).setVisible(false);
|
||||
columns.get(ColumnDef.RANKING).setVisible(false);
|
||||
return columns;
|
||||
}
|
||||
|
||||
@@ -169,7 +169,7 @@ public final class SItemManagerUtil {
|
||||
private static final GroupDef[] DECK_GROUPBY_OPTIONS = {GroupDef.COLOR, GroupDef.COLOR_IDENTITY, GroupDef.SET};
|
||||
private static final ColumnDef[] CARD_PILEBY_OPTIONS = {ColumnDef.CMC, ColumnDef.COLOR, ColumnDef.NAME,
|
||||
ColumnDef.COST, ColumnDef.TYPE, ColumnDef.RARITY,
|
||||
ColumnDef.SET, ColumnDef.COLLECTOR_ORDER};
|
||||
ColumnDef.SET, ColumnDef.COLLECTOR_ORDER, ColumnDef.FORMAT};
|
||||
private static final ColumnDef[] DECK_PILEBY_OPTIONS = {ColumnDef.DECK_COLOR, ColumnDef.DECK_FOLDER,
|
||||
ColumnDef.NAME, ColumnDef.DECK_FORMAT,
|
||||
ColumnDef.DECK_EDITION, ColumnDef.DECK_AI};
|
||||
|
||||
Reference in New Issue
Block a user