mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
- CheckStyle.
This commit is contained in:
@@ -106,7 +106,7 @@ public final class CardPicturePanel extends JPanel implements CardContainer {
|
|||||||
this.card = null;
|
this.card = null;
|
||||||
this.inventoryItem = cp;
|
this.inventoryItem = cp;
|
||||||
if (!this.isShowing()) {
|
if (!this.isShowing()) {
|
||||||
// This line didn't seem to be helping, and doesn't exist down there
|
// This line didn't seem to be helping, and doesn't exist down there
|
||||||
// return;
|
// return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ public class DualListBox<T> extends JPanel {
|
|||||||
private void fillListModel(UnsortedListModel<T> model, ListModel newValues) {
|
private void fillListModel(UnsortedListModel<T> model, ListModel newValues) {
|
||||||
int size = newValues.getSize();
|
int size = newValues.getSize();
|
||||||
for (int i = 0; i < size; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
model.add((T)newValues.getElementAt(i));
|
model.add((T) newValues.getElementAt(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -190,7 +190,7 @@ public class GuiChoose {
|
|||||||
CMatchUI.SINGLETON_INSTANCE.setCard((Card) list.getSelectedValue());
|
CMatchUI.SINGLETON_INSTANCE.setCard((Card) list.getSelectedValue());
|
||||||
|
|
||||||
GuiUtils.clearPanelSelections();
|
GuiUtils.clearPanelSelections();
|
||||||
GuiUtils.setPanelSelection((Card)list.getSelectedValue());
|
GuiUtils.setPanelSelection((Card) list.getSelectedValue());
|
||||||
}
|
}
|
||||||
if (list.getSelectedValue() instanceof InventoryItem) {
|
if (list.getSelectedValue() instanceof InventoryItem) {
|
||||||
CMatchUI.SINGLETON_INSTANCE.setCard((InventoryItem) list.getSelectedValue());
|
CMatchUI.SINGLETON_INSTANCE.setCard((InventoryItem) list.getSelectedValue());
|
||||||
|
|||||||
@@ -338,8 +338,8 @@ public final class GuiDisplayUtil {
|
|||||||
* </p>
|
* </p>
|
||||||
*/
|
*/
|
||||||
public static void updateGUI() {
|
public static void updateGUI() {
|
||||||
for( Player p : Singletons.getModel().getGame().getRegisteredPlayers())
|
for (Player p : Singletons.getModel().getGame().getRegisteredPlayers()) {
|
||||||
{
|
|
||||||
// why was it written twice?
|
// why was it written twice?
|
||||||
p.getZone(ZoneType.Battlefield).updateObservers();
|
p.getZone(ZoneType.Battlefield).updateObservers();
|
||||||
}
|
}
|
||||||
@@ -459,7 +459,7 @@ public final class GuiDisplayUtil {
|
|||||||
|
|
||||||
final Player human = Singletons.getControl().getPlayer();
|
final Player human = Singletons.getControl().getPlayer();
|
||||||
final Player ai = human.getOpponent();
|
final Player ai = human.getOpponent();
|
||||||
|
|
||||||
if (!tChangePlayer.trim().toLowerCase().equals("none")) {
|
if (!tChangePlayer.trim().toLowerCase().equals("none")) {
|
||||||
if (tChangePlayer.trim().toLowerCase().equals("human")) {
|
if (tChangePlayer.trim().toLowerCase().equals("human")) {
|
||||||
Singletons.getModel().getGame().getPhaseHandler().setPlayerTurn(human);
|
Singletons.getModel().getGame().getPhaseHandler().setPlayerTurn(human);
|
||||||
@@ -470,7 +470,7 @@ public final class GuiDisplayUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if (!tChangePhase.trim().toLowerCase().equals("none")) {
|
if (!tChangePhase.trim().toLowerCase().equals("none")) {
|
||||||
Singletons.getModel().getGame().getPhaseHandler().setDevPhaseState(forge.game.phase.PhaseType.smartValueOf(tChangePhase));
|
Singletons.getModel().getGame().getPhaseHandler().setDevPhaseState(forge.game.phase.PhaseType.smartValueOf(tChangePhase));
|
||||||
}
|
}
|
||||||
@@ -740,7 +740,7 @@ public final class GuiDisplayUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>
|
* <p>
|
||||||
* devModeTutorAnyCard.
|
* devModeTutorAnyCard.
|
||||||
@@ -751,15 +751,19 @@ public final class GuiDisplayUtil {
|
|||||||
public static void devModeCardToHand() {
|
public static void devModeCardToHand() {
|
||||||
final List<Player> players = Singletons.getModel().getGame().getPlayers();
|
final List<Player> players = Singletons.getModel().getGame().getPlayers();
|
||||||
final Player p = GuiChoose.oneOrNone("Put card in play for which player?", players);
|
final Player p = GuiChoose.oneOrNone("Put card in play for which player?", players);
|
||||||
if (null == p) return;
|
if (null == p) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final List<CardPrinted> cards = Lists.newArrayList(CardDb.instance().getAllUniqueCards());
|
final List<CardPrinted> cards = Lists.newArrayList(CardDb.instance().getAllUniqueCards());
|
||||||
Collections.sort(cards);
|
Collections.sort(cards);
|
||||||
|
|
||||||
// use standard forge's list selection dialog
|
// use standard forge's list selection dialog
|
||||||
final CardPrinted c = GuiChoose.oneOrNone("Name the card", cards);
|
final CardPrinted c = GuiChoose.oneOrNone("Name the card", cards);
|
||||||
if (c == null) return;
|
if (c == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Card forgeCard = c.toForgeCard(p);
|
Card forgeCard = c.toForgeCard(p);
|
||||||
Singletons.getModel().getGame().getAction().moveToHand(forgeCard);
|
Singletons.getModel().getGame().getAction().moveToHand(forgeCard);
|
||||||
|
|
||||||
@@ -768,22 +772,30 @@ public final class GuiDisplayUtil {
|
|||||||
public static void devModeCardToBattlefield() {
|
public static void devModeCardToBattlefield() {
|
||||||
final List<Player> players = Singletons.getModel().getGame().getPlayers();
|
final List<Player> players = Singletons.getModel().getGame().getPlayers();
|
||||||
final Player p = GuiChoose.oneOrNone("Put card in play for which player?", players);
|
final Player p = GuiChoose.oneOrNone("Put card in play for which player?", players);
|
||||||
if (null == p) return;
|
if (null == p) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
final List<CardPrinted> cards = Lists.newArrayList(CardDb.instance().getAllUniqueCards());
|
final List<CardPrinted> cards = Lists.newArrayList(CardDb.instance().getAllUniqueCards());
|
||||||
Collections.sort(cards);
|
Collections.sort(cards);
|
||||||
|
|
||||||
// use standard forge's list selection dialog
|
// use standard forge's list selection dialog
|
||||||
final CardPrinted c = GuiChoose.oneOrNone("Name the card", cards);
|
final CardPrinted c = GuiChoose.oneOrNone("Name the card", cards);
|
||||||
if (c == null) return;
|
if (c == null) {
|
||||||
|
return;
|
||||||
Card forgeCard = c.toForgeCard(p);
|
}
|
||||||
|
|
||||||
final List<SpellAbility> choices = forgeCard.getBasicSpells();
|
|
||||||
if (choices.isEmpty()) return; // when would it happen?
|
|
||||||
|
|
||||||
final SpellAbility sa = choices.size() == 1 ? choices.get(0) : GuiChoose.oneOrNone("Choose", choices);
|
Card forgeCard = c.toForgeCard(p);
|
||||||
if (sa == null) return; // happens if cancelled
|
|
||||||
|
final List<SpellAbility> choices = forgeCard.getBasicSpells();
|
||||||
|
if (choices.isEmpty()) {
|
||||||
|
return; // when would it happen?
|
||||||
|
}
|
||||||
|
|
||||||
|
final SpellAbility sa = choices.size() == 1 ? choices.get(0) : GuiChoose.oneOrNone("Choose", choices);
|
||||||
|
if (sa == null) {
|
||||||
|
return; // happens if cancelled
|
||||||
|
}
|
||||||
|
|
||||||
sa.setActivatingPlayer(p);
|
sa.setActivatingPlayer(p);
|
||||||
|
|
||||||
@@ -791,8 +803,8 @@ public final class GuiDisplayUtil {
|
|||||||
game.getAction().moveToHand(forgeCard); // this is really needed
|
game.getAction().moveToHand(forgeCard); // this is really needed
|
||||||
game.getAction().playSpellAbilityForFree(sa);
|
game.getAction().playSpellAbilityForFree(sa);
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void devModeBreakpoint() {
|
public static void devModeBreakpoint() {
|
||||||
List<Player> Players = Singletons.getModel().getGame().getPlayers();
|
List<Player> Players = Singletons.getModel().getGame().getPlayers();
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ public class GuiInput extends MyObservable implements Observer {
|
|||||||
if (tmp != null) {
|
if (tmp != null) {
|
||||||
// System.out.println(ph.getPlayerTurn() + "'s " + ph.getPhase() + ", priority of " + ph.getPriorityPlayer() + " @ input is " + tmp.getClass().getName() );
|
// System.out.println(ph.getPlayerTurn() + "'s " + ph.getPhase() + ", priority of " + ph.getPriorityPlayer() + " @ input is " + tmp.getClass().getName() );
|
||||||
this.setInput(tmp);
|
this.setInput(tmp);
|
||||||
} else if ( !ph.mayPlayerHavePriority() ) {
|
} else if (!ph.mayPlayerHavePriority()) {
|
||||||
//System.out.println("cannot have priority, forced to pass");
|
//System.out.println("cannot have priority, forced to pass");
|
||||||
ph.passPriority();
|
ph.passPriority();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -491,8 +491,8 @@ public final class GuiMigrateLocalMWSSetPicturesHQ extends DefaultBoundedRangeMo
|
|||||||
final String urlBase = "C:\\MTGForge\\HQPICS\\";
|
final String urlBase = "C:\\MTGForge\\HQPICS\\";
|
||||||
String imgFN = "";
|
String imgFN = "";
|
||||||
|
|
||||||
for (final CardPrinted cp : CardDb.instance().getAllTraditionalCards())
|
for (final CardPrinted cp : CardDb.instance().getAllTraditionalCards()) {
|
||||||
{
|
|
||||||
// String url = c.getSVar("Picture");
|
// String url = c.getSVar("Picture");
|
||||||
// String[] URLs = url.split("\\\\");
|
// String[] URLs = url.split("\\\\");
|
||||||
String edCode = cp.getEdition();
|
String edCode = cp.getEdition();
|
||||||
@@ -504,8 +504,8 @@ public final class GuiMigrateLocalMWSSetPicturesHQ extends DefaultBoundedRangeMo
|
|||||||
final int maxIndex = cp.getCard().getEditionInfo(cp.getEdition()).getCopiesCount();
|
final int maxIndex = cp.getCard().getEditionInfo(cp.getEdition()).getCopiesCount();
|
||||||
String k = maxIndex > 1 ? Integer.valueOf(cp.getArtIndex() + 1).toString() : "";
|
String k = maxIndex > 1 ? Integer.valueOf(cp.getArtIndex() + 1).toString() : "";
|
||||||
final String fn = GuiDisplayUtil.cleanStringMWS(cp.getName()) + k + ".full.jpg";
|
final String fn = GuiDisplayUtil.cleanStringMWS(cp.getName()) + k + ".full.jpg";
|
||||||
final String destFn = imgBase + File.pathSeparator + edCode + File.pathSeparator + imgFN + k + ".jpg";
|
final String destFn = imgBase + File.pathSeparator + edCode + File.pathSeparator + imgFN + k + ".jpg";
|
||||||
cList.add(new MCard( destFn, urlBase + setCode2 + "\\" + fn, edCode));
|
cList.add(new MCard(destFn, urlBase + setCode2 + "\\" + fn, edCode));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Log.error(iName + ".jpg" + "\t" + URLs[0]);
|
// Log.error(iName + ".jpg" + "\t" + URLs[0]);
|
||||||
|
|||||||
@@ -203,7 +203,7 @@ public final class GuiUtils {
|
|||||||
* Highlight a card on the playfield.
|
* Highlight a card on the playfield.
|
||||||
*
|
*
|
||||||
* @param c
|
* @param c
|
||||||
* a card to be highlighted
|
* a card to be highlighted
|
||||||
*/
|
*/
|
||||||
public static void setPanelSelection(final Card c) {
|
public static void setPanelSelection(final Card c) {
|
||||||
mainLoop:
|
mainLoop:
|
||||||
|
|||||||
@@ -33,8 +33,9 @@ public class UnsortedListModel<T> extends AbstractListModel { // Java 7 has a ge
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void addAll(T[] elements) {
|
public void addAll(T[] elements) {
|
||||||
for(T e : elements)
|
for (T e : elements) {
|
||||||
model.add(e);
|
model.add(e);
|
||||||
|
}
|
||||||
fireContentsChanged(this, 0, getSize());
|
fireContentsChanged(this, 0, getSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,8 +43,8 @@ public class UnsortedListModel<T> extends AbstractListModel { // Java 7 has a ge
|
|||||||
model.addAll(elements);
|
model.addAll(elements);
|
||||||
fireContentsChanged(this, 0, getSize());
|
fireContentsChanged(this, 0, getSize());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void clear() {
|
public void clear() {
|
||||||
model.clear();
|
model.clear();
|
||||||
fireContentsChanged(this, 0, getSize());
|
fireContentsChanged(this, 0, getSize());
|
||||||
@@ -64,4 +65,4 @@ public class UnsortedListModel<T> extends AbstractListModel { // Java 7 has a ge
|
|||||||
}
|
}
|
||||||
return removed;
|
return removed;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,14 +60,14 @@ public enum CDeckEditorUI implements CardContainer {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set Pack, for when Packs can be shown in the CardPicturePanel
|
* Set Pack, for when Packs can be shown in the CardPicturePanel.
|
||||||
* @param item
|
* @param item
|
||||||
*/
|
*/
|
||||||
public void setCard(final InventoryItem item) {
|
public void setCard(final InventoryItem item) {
|
||||||
CDetail.SINGLETON_INSTANCE.showCard(item);
|
CDetail.SINGLETON_INSTANCE.showCard(item);
|
||||||
CPicture.SINGLETON_INSTANCE.showCard(item);
|
CPicture.SINGLETON_INSTANCE.showCard(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
//========= Accessor/mutator methods
|
//========= Accessor/mutator methods
|
||||||
/**
|
/**
|
||||||
* @return ACEditorBase<?, ?>
|
* @return ACEditorBase<?, ?>
|
||||||
|
|||||||
@@ -88,7 +88,7 @@ public class DeckImport<TItem extends InventoryItem, TModel extends DeckBase> ex
|
|||||||
private final JButton cmdAccept = new JButton("Import Deck");
|
private final JButton cmdAccept = new JButton("Import Deck");
|
||||||
private final JButton cmdCancel = new JButton("Cancel");
|
private final JButton cmdCancel = new JButton("Cancel");
|
||||||
private final JCheckBox newEditionCheck = new JCheckBox("Import latest version of card", true);
|
private final JCheckBox newEditionCheck = new JCheckBox("Import latest version of card", true);
|
||||||
|
|
||||||
/** The tokens. */
|
/** The tokens. */
|
||||||
private final List<DeckRecognizer.Token> tokens = new ArrayList<DeckRecognizer.Token>();
|
private final List<DeckRecognizer.Token> tokens = new ArrayList<DeckRecognizer.Token>();
|
||||||
|
|
||||||
|
|||||||
@@ -91,7 +91,7 @@ public final class SEditorUtil {
|
|||||||
int sum = Aggregates.sum(Iterables.filter(deck, Predicates.compose(predicate, deck.getFnToCard())), deck.getFnToCount());
|
int sum = Aggregates.sum(Iterables.filter(deck, Predicates.compose(predicate, deck.getFnToCard())), deck.getFnToCount());
|
||||||
label.setText(String.valueOf(sum));
|
label.setText(String.valueOf(sum));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* setStats.
|
* setStats.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -191,18 +191,19 @@ public class SFilterUtil {
|
|||||||
if (MAP_COLOR_CHECKBOXES.get(FilterProperty.RED).getCheckBox().isSelected()) { colors.add(CardRulesPredicates.Presets.IS_RED); }
|
if (MAP_COLOR_CHECKBOXES.get(FilterProperty.RED).getCheckBox().isSelected()) { colors.add(CardRulesPredicates.Presets.IS_RED); }
|
||||||
if (MAP_COLOR_CHECKBOXES.get(FilterProperty.WHITE).getCheckBox().isSelected()) { colors.add(CardRulesPredicates.Presets.IS_WHITE); }
|
if (MAP_COLOR_CHECKBOXES.get(FilterProperty.WHITE).getCheckBox().isSelected()) { colors.add(CardRulesPredicates.Presets.IS_WHITE); }
|
||||||
if (MAP_COLOR_CHECKBOXES.get(FilterProperty.COLORLESS).getCheckBox().isSelected()) { colors.add(CardRulesPredicates.Presets.IS_COLORLESS); }
|
if (MAP_COLOR_CHECKBOXES.get(FilterProperty.COLORLESS).getCheckBox().isSelected()) { colors.add(CardRulesPredicates.Presets.IS_COLORLESS); }
|
||||||
|
|
||||||
final Predicate<CardRules> preColors = colors.size() == 6 ? null : Predicates.or(colors);
|
final Predicate<CardRules> preColors = colors.size() == 6 ? null : Predicates.or(colors);
|
||||||
|
|
||||||
|
|
||||||
boolean wantMulticolor = MAP_COLOR_CHECKBOXES.get(FilterProperty.MULTICOLOR).getCheckBox().isSelected();
|
boolean wantMulticolor = MAP_COLOR_CHECKBOXES.get(FilterProperty.MULTICOLOR).getCheckBox().isSelected();
|
||||||
final Predicate<CardRules> preExceptMulti = wantMulticolor ? null : Predicates.not(CardRulesPredicates.Presets.IS_MULTICOLOR);
|
final Predicate<CardRules> preExceptMulti = wantMulticolor ? null : Predicates.not(CardRulesPredicates.Presets.IS_MULTICOLOR);
|
||||||
|
|
||||||
Predicate<CardRules> preFinal = colors.isEmpty() && wantMulticolor ? CardRulesPredicates.Presets.IS_MULTICOLOR : optimizedAnd(preExceptMulti, preColors);
|
Predicate<CardRules> preFinal = colors.isEmpty() && wantMulticolor ? CardRulesPredicates.Presets.IS_MULTICOLOR : optimizedAnd(preExceptMulti, preColors);
|
||||||
|
|
||||||
if ( null == preFinal)
|
if (null == preFinal) {
|
||||||
return Predicates.alwaysTrue();
|
return Predicates.alwaysTrue();
|
||||||
|
}
|
||||||
|
|
||||||
return Predicates.compose(preFinal, CardPrinted.FN_GET_RULES);
|
return Predicates.compose(preFinal, CardPrinted.FN_GET_RULES);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -213,7 +214,7 @@ public class SFilterUtil {
|
|||||||
*/
|
*/
|
||||||
public static Predicate<CardPrinted> buildSetAndFormatFilter() {
|
public static Predicate<CardPrinted> buildSetAndFormatFilter() {
|
||||||
// Set/Format filter
|
// Set/Format filter
|
||||||
JComboBox cbox = VFilters.SINGLETON_INSTANCE.getCbxSets();
|
JComboBox cbox = VFilters.SINGLETON_INSTANCE.getCbxSets();
|
||||||
if (cbox.getSelectedIndex() == 0) {
|
if (cbox.getSelectedIndex() == 0) {
|
||||||
return Predicates.alwaysTrue();
|
return Predicates.alwaysTrue();
|
||||||
}
|
}
|
||||||
@@ -246,9 +247,10 @@ public class SFilterUtil {
|
|||||||
if (MAP_TYPE_CHECKBOXES.get(FilterProperty.PLANESWALKER).getCheckBox().isSelected()) { ors.add(CardRulesPredicates.Presets.IS_PLANESWALKER); }
|
if (MAP_TYPE_CHECKBOXES.get(FilterProperty.PLANESWALKER).getCheckBox().isSelected()) { ors.add(CardRulesPredicates.Presets.IS_PLANESWALKER); }
|
||||||
if (MAP_TYPE_CHECKBOXES.get(FilterProperty.SORCERY).getCheckBox().isSelected()) { ors.add(CardRulesPredicates.Presets.IS_SORCERY); }
|
if (MAP_TYPE_CHECKBOXES.get(FilterProperty.SORCERY).getCheckBox().isSelected()) { ors.add(CardRulesPredicates.Presets.IS_SORCERY); }
|
||||||
|
|
||||||
if (ors.size() == 7)
|
if (ors.size() == 7) {
|
||||||
return Predicates.alwaysTrue();
|
return Predicates.alwaysTrue();
|
||||||
|
}
|
||||||
|
|
||||||
return Predicates.compose(Predicates.or(ors), CardPrinted.FN_GET_RULES);
|
return Predicates.compose(Predicates.or(ors), CardPrinted.FN_GET_RULES);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -312,25 +314,27 @@ public class SFilterUtil {
|
|||||||
filterNot = Predicates.not(Predicates.or(nots));
|
filterNot = Predicates.not(Predicates.or(nots));
|
||||||
}
|
}
|
||||||
Predicate<CardRules> preResult = optimizedAnd(filterAnd, filterNot);
|
Predicate<CardRules> preResult = optimizedAnd(filterAnd, filterNot);
|
||||||
if ( preResult == null ) return Predicates.alwaysTrue();
|
if (preResult == null) {
|
||||||
|
return Predicates.alwaysTrue();
|
||||||
|
}
|
||||||
return Predicates.compose(preResult, CardPrinted.FN_GET_RULES);
|
return Predicates.compose(preResult, CardPrinted.FN_GET_RULES);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Predicate<CardRules> getCardRulesFieldPredicate(String min, String max, CardRulesPredicates.LeafNumber.CardField field) {
|
private static Predicate<CardRules> getCardRulesFieldPredicate(String min, String max, CardRulesPredicates.LeafNumber.CardField field) {
|
||||||
boolean hasMin = !("*".equals(min));
|
boolean hasMin = !("*".equals(min));
|
||||||
boolean hasMax = !("10+".equals(max));
|
boolean hasMax = !("10+".equals(max));
|
||||||
|
|
||||||
Predicate<CardRules> pMin = !hasMin ? null : new CardRulesPredicates.LeafNumber(field, ComparableOp.GT_OR_EQUAL, Integer.valueOf(min));
|
Predicate<CardRules> pMin = !hasMin ? null : new CardRulesPredicates.LeafNumber(field, ComparableOp.GT_OR_EQUAL, Integer.valueOf(min));
|
||||||
Predicate<CardRules> pMax = !hasMax ? null : new CardRulesPredicates.LeafNumber(field, ComparableOp.LT_OR_EQUAL, Integer.valueOf(max));
|
Predicate<CardRules> pMax = !hasMax ? null : new CardRulesPredicates.LeafNumber(field, ComparableOp.LT_OR_EQUAL, Integer.valueOf(max));
|
||||||
|
|
||||||
return optimizedAnd(pMin, pMax);
|
return optimizedAnd(pMin, pMax);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static <T> Predicate<T> optimizedAnd(Predicate<T> p1, Predicate<T> p2)
|
private static <T> Predicate<T> optimizedAnd(Predicate<T> p1, Predicate<T> p2)
|
||||||
{
|
{
|
||||||
return p1 == null ? p2 : ( p2 == null ? p1 : Predicates.and(p1, p2) );
|
return p1 == null ? p2 : (p2 == null ? p1 : Predicates.and(p1, p2));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Validates combo box input, assembles predicate filters for each case,
|
* Validates combo box input, assembles predicate filters for each case,
|
||||||
* stacks them all together, and returns the predicate.
|
* stacks them all together, and returns the predicate.
|
||||||
@@ -344,15 +348,16 @@ public class SFilterUtil {
|
|||||||
Predicate<CardRules> preToughness = getCardRulesFieldPredicate(view.getCbxTLow().getSelectedItem().toString(), view.getCbxTHigh().getSelectedItem().toString(), CardRulesPredicates.LeafNumber.CardField.TOUGHNESS);
|
Predicate<CardRules> preToughness = getCardRulesFieldPredicate(view.getCbxTLow().getSelectedItem().toString(), view.getCbxTHigh().getSelectedItem().toString(), CardRulesPredicates.LeafNumber.CardField.TOUGHNESS);
|
||||||
Predicate<CardRules> prePower = getCardRulesFieldPredicate(view.getCbxPLow().getSelectedItem().toString(), view.getCbxPHigh().getSelectedItem().toString(), CardRulesPredicates.LeafNumber.CardField.POWER);
|
Predicate<CardRules> prePower = getCardRulesFieldPredicate(view.getCbxPLow().getSelectedItem().toString(), view.getCbxPHigh().getSelectedItem().toString(), CardRulesPredicates.LeafNumber.CardField.POWER);
|
||||||
Predicate<CardRules> preCMC = getCardRulesFieldPredicate(view.getCbxCMCLow().getSelectedItem().toString(), view.getCbxCMCHigh().getSelectedItem().toString(), CardRulesPredicates.LeafNumber.CardField.CMC);
|
Predicate<CardRules> preCMC = getCardRulesFieldPredicate(view.getCbxCMCLow().getSelectedItem().toString(), view.getCbxCMCHigh().getSelectedItem().toString(), CardRulesPredicates.LeafNumber.CardField.CMC);
|
||||||
|
|
||||||
Predicate<CardRules> preCreature = optimizedAnd(preToughness, prePower);
|
Predicate<CardRules> preCreature = optimizedAnd(preToughness, prePower);
|
||||||
preCreature = preCreature == null ? null : Predicates.and( preCreature, CardRulesPredicates.Presets.IS_CREATURE );
|
preCreature = preCreature == null ? null : Predicates.and(preCreature, CardRulesPredicates.Presets.IS_CREATURE);
|
||||||
|
|
||||||
Predicate<CardRules> preFinal = optimizedAnd(preCMC, preCreature);
|
Predicate<CardRules> preFinal = optimizedAnd(preCMC, preCreature);
|
||||||
if (preFinal == null)
|
if (preFinal == null) {
|
||||||
return Predicates.alwaysTrue();
|
return Predicates.alwaysTrue();
|
||||||
else
|
} else {
|
||||||
return Predicates.compose(preFinal, CardPrinted.FN_GET_RULES);
|
return Predicates.compose(preFinal, CardPrinted.FN_GET_RULES);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//========== Custom class handling
|
//========== Custom class handling
|
||||||
|
|||||||
@@ -46,8 +46,8 @@ public enum CAllDecks implements ICDoc {
|
|||||||
public void execute() { importDeck(); } });
|
public void execute() { importDeck(); } });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* (non-Javadoc)
|
/* (non-Javadoc)
|
||||||
* @see forge.gui.framework.ICDoc#update()
|
* @see forge.gui.framework.ICDoc#update()
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -80,10 +80,10 @@ public enum CDeckgen implements ICDoc {
|
|||||||
|
|
||||||
final Deck randomDeck = new Deck();
|
final Deck randomDeck = new Deck();
|
||||||
|
|
||||||
Predicate<CardPrinted> notBasicLand = Predicates.not(Predicates.compose(CardRulesPredicates.Presets.IS_BASIC_LAND,CardPrinted.FN_GET_RULES));
|
Predicate<CardPrinted> notBasicLand = Predicates.not(Predicates.compose(CardRulesPredicates.Presets.IS_BASIC_LAND, CardPrinted.FN_GET_RULES));
|
||||||
Iterable<CardPrinted> source = Iterables.filter(CardDb.instance().getAllUniqueCards(), notBasicLand);
|
Iterable<CardPrinted> source = Iterables.filter(CardDb.instance().getAllUniqueCards(), notBasicLand);
|
||||||
randomDeck.getMain().addAllFlat(Aggregates.random(source, 15*5));
|
randomDeck.getMain().addAllFlat(Aggregates.random(source, 15 * 5));
|
||||||
|
|
||||||
randomDeck.getMain().add("Plains");
|
randomDeck.getMain().add("Plains");
|
||||||
randomDeck.getMain().add("Island");
|
randomDeck.getMain().add("Island");
|
||||||
randomDeck.getMain().add("Swamp");
|
randomDeck.getMain().add("Swamp");
|
||||||
|
|||||||
@@ -44,10 +44,10 @@ public enum CEditorPreferences implements ICDoc {
|
|||||||
SEditorIO.loadPreferences();
|
SEditorIO.loadPreferences();
|
||||||
|
|
||||||
HashMap<JCheckBox, ColumnName> prefsDict = new HashMap<JCheckBox, SColumnUtil.ColumnName>();
|
HashMap<JCheckBox, ColumnName> prefsDict = new HashMap<JCheckBox, SColumnUtil.ColumnName>();
|
||||||
|
|
||||||
// Simplified Column Preferences
|
// Simplified Column Preferences
|
||||||
VEditorPreferences prefsInstance = VEditorPreferences.SINGLETON_INSTANCE;
|
VEditorPreferences prefsInstance = VEditorPreferences.SINGLETON_INSTANCE;
|
||||||
|
|
||||||
// Catalog
|
// Catalog
|
||||||
prefsDict.put(prefsInstance.getChbCatalogColor(), ColumnName.CAT_COLOR);
|
prefsDict.put(prefsInstance.getChbCatalogColor(), ColumnName.CAT_COLOR);
|
||||||
prefsDict.put(prefsInstance.getChbCatalogRarity(), ColumnName.CAT_RARITY);
|
prefsDict.put(prefsInstance.getChbCatalogRarity(), ColumnName.CAT_RARITY);
|
||||||
@@ -56,7 +56,7 @@ public enum CEditorPreferences implements ICDoc {
|
|||||||
prefsDict.put(prefsInstance.getChbCatalogAI(), ColumnName.CAT_AI);
|
prefsDict.put(prefsInstance.getChbCatalogAI(), ColumnName.CAT_AI);
|
||||||
prefsDict.put(prefsInstance.getChbCatalogPower(), ColumnName.CAT_POWER);
|
prefsDict.put(prefsInstance.getChbCatalogPower(), ColumnName.CAT_POWER);
|
||||||
prefsDict.put(prefsInstance.getChbCatalogToughness(), ColumnName.CAT_TOUGHNESS);
|
prefsDict.put(prefsInstance.getChbCatalogToughness(), ColumnName.CAT_TOUGHNESS);
|
||||||
|
|
||||||
// Deck
|
// Deck
|
||||||
prefsDict.put(prefsInstance.getChbDeckColor(), ColumnName.DECK_COLOR);
|
prefsDict.put(prefsInstance.getChbDeckColor(), ColumnName.DECK_COLOR);
|
||||||
prefsDict.put(prefsInstance.getChbDeckRarity(), ColumnName.DECK_RARITY);
|
prefsDict.put(prefsInstance.getChbDeckRarity(), ColumnName.DECK_RARITY);
|
||||||
@@ -71,7 +71,7 @@ public enum CEditorPreferences implements ICDoc {
|
|||||||
final ColumnName name = prefsDict.get(key);
|
final ColumnName name = prefsDict.get(key);
|
||||||
key.setSelected(SColumnUtil.getColumn(name).isShowing());
|
key.setSelected(SColumnUtil.getColumn(name).isShowing());
|
||||||
key.addItemListener(new ItemListener() {
|
key.addItemListener(new ItemListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void itemStateChanged(ItemEvent arg0) {
|
public void itemStateChanged(ItemEvent arg0) {
|
||||||
SColumnUtil.toggleColumn(SColumnUtil.getColumn(name));
|
SColumnUtil.toggleColumn(SColumnUtil.getColumn(name));
|
||||||
|
|||||||
@@ -61,10 +61,10 @@ public enum CStatistics implements ICDoc {
|
|||||||
|
|
||||||
private void setLabelValue(JLabel label, ItemPoolView<CardPrinted> deck, Predicate<CardRules> predicate, int total) {
|
private void setLabelValue(JLabel label, ItemPoolView<CardPrinted> deck, Predicate<CardRules> predicate, int total) {
|
||||||
int tmp = Aggregates.sum(Iterables.filter(deck, Predicates.compose(predicate, deck.getFnToCard())), deck.getFnToCount());
|
int tmp = Aggregates.sum(Iterables.filter(deck, Predicates.compose(predicate, deck.getFnToCard())), deck.getFnToCount());
|
||||||
label.setText( tmp + " (" + SEditorUtil.calculatePercentage(tmp, total) + "%)");
|
label.setText(tmp + " (" + SEditorUtil.calculatePercentage(tmp, total) + "%)");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//========== Other methods
|
//========== Other methods
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private <T extends InventoryItem, TModel extends DeckBase> void analyze() {
|
private <T extends InventoryItem, TModel extends DeckBase> void analyze() {
|
||||||
@@ -81,23 +81,23 @@ public enum CStatistics implements ICDoc {
|
|||||||
// Hack-ish: avoid /0 cases, but still populate labels :)
|
// Hack-ish: avoid /0 cases, but still populate labels :)
|
||||||
if (total == 0) { total = 1; }
|
if (total == 0) { total = 1; }
|
||||||
|
|
||||||
|
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblCreature(), deck, CardRulesPredicates.Presets.IS_CREATURE, total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblCreature(), deck, CardRulesPredicates.Presets.IS_CREATURE, total);
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblLand(), deck, CardRulesPredicates.Presets.IS_LAND, total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblLand(), deck, CardRulesPredicates.Presets.IS_LAND, total);
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblEnchantment(), deck, CardRulesPredicates.Presets.IS_ENCHANTMENT, total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblEnchantment(), deck, CardRulesPredicates.Presets.IS_ENCHANTMENT, total);
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblArtifact(), deck, CardRulesPredicates.Presets.IS_ARTIFACT, total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblArtifact(), deck, CardRulesPredicates.Presets.IS_ARTIFACT, total);
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblInstant(), deck, CardRulesPredicates.Presets.IS_INSTANT, total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblInstant(), deck, CardRulesPredicates.Presets.IS_INSTANT, total);
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblSorcery(), deck, CardRulesPredicates.Presets.IS_SORCERY, total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblSorcery(), deck, CardRulesPredicates.Presets.IS_SORCERY, total);
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblPlaneswalker(), deck, CardRulesPredicates.Presets.IS_PLANESWALKER, total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblPlaneswalker(), deck, CardRulesPredicates.Presets.IS_PLANESWALKER, total);
|
||||||
|
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblMulti(), deck, CardRulesPredicates.Presets.IS_MULTICOLOR, total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblMulti(), deck, CardRulesPredicates.Presets.IS_MULTICOLOR, total);
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblColorless(), deck, CardRulesPredicates.Presets.IS_COLORLESS, total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblColorless(), deck, CardRulesPredicates.Presets.IS_COLORLESS, total);
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblBlack(), deck, CardRulesPredicates.isMonoColor(CardColor.BLACK), total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblBlack(), deck, CardRulesPredicates.isMonoColor(CardColor.BLACK), total);
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblBlue(), deck, CardRulesPredicates.isMonoColor(CardColor.BLUE), total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblBlue(), deck, CardRulesPredicates.isMonoColor(CardColor.BLUE), total);
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblGreen(), deck, CardRulesPredicates.isMonoColor(CardColor.GREEN), total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblGreen(), deck, CardRulesPredicates.isMonoColor(CardColor.GREEN), total);
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblRed(), deck, CardRulesPredicates.isMonoColor(CardColor.RED), total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblRed(), deck, CardRulesPredicates.isMonoColor(CardColor.RED), total);
|
||||||
setLabelValue( VStatistics.SINGLETON_INSTANCE.getLblWhite(), deck, CardRulesPredicates.isMonoColor(CardColor.WHITE), total );
|
setLabelValue(VStatistics.SINGLETON_INSTANCE.getLblWhite(), deck, CardRulesPredicates.isMonoColor(CardColor.WHITE), total);
|
||||||
|
|
||||||
int cmc0 = 0, cmc1 = 0, cmc2 = 0, cmc3 = 0, cmc4 = 0, cmc5 = 0, cmc6 = 0;
|
int cmc0 = 0, cmc1 = 0, cmc2 = 0, cmc3 = 0, cmc4 = 0, cmc5 = 0, cmc6 = 0;
|
||||||
int tmc = 0;
|
int tmc = 0;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user