renamed MagicDeckCardDefinition. added in a condensed deck class.
parent
568bbb78e8
commit
b9fafa9cd0
|
@ -0,0 +1,137 @@
|
||||||
|
package magic.model;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.Comparator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
// basically a wrapper for MagicCardDefinition that adds number of copies of card
|
||||||
|
public class MagicCondensedCardDefinition {
|
||||||
|
private int copies;
|
||||||
|
private MagicCardDefinition card;
|
||||||
|
|
||||||
|
public MagicCondensedCardDefinition(MagicCardDefinition card) {
|
||||||
|
this.card = card;
|
||||||
|
copies = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MagicCardDefinition getCard() {
|
||||||
|
return card;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void incrementNumCopies() {
|
||||||
|
copies++;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void decrementNumCopies() {
|
||||||
|
if (copies > 0) {
|
||||||
|
copies--;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNumCopies(int i) {
|
||||||
|
copies = i;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getNumCopies() {
|
||||||
|
return copies;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> NUM_COPIES_COMPARATOR_DESC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return cardDefinition1.getNumCopies() - cardDefinition2.getNumCopies();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> NUM_COPIES_COMPARATOR_ASC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCondensedCardDefinition.NUM_COPIES_COMPARATOR_DESC.compare(cardDefinition2, cardDefinition1);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> NAME_COMPARATOR_DESC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCardDefinition.NAME_COMPARATOR_DESC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> NAME_COMPARATOR_ASC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCardDefinition.NAME_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> CONVERTED_COMPARATOR_DESC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCardDefinition.CONVERTED_COMPARATOR_DESC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> CONVERTED_COMPARATOR_ASC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCardDefinition.CONVERTED_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> TYPE_COMPARATOR_DESC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCardDefinition.TYPE_COMPARATOR_DESC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> TYPE_COMPARATOR_ASC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCardDefinition.TYPE_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> RARITY_COMPARATOR_DESC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCardDefinition.RARITY_COMPARATOR_DESC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> RARITY_COMPARATOR_ASC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCardDefinition.RARITY_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> POWER_COMPARATOR_DESC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCardDefinition.POWER_COMPARATOR_DESC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> POWER_COMPARATOR_ASC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCardDefinition.POWER_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> TOUGHNESS_COMPARATOR_DESC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCardDefinition.TOUGHNESS_COMPARATOR_DESC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static final Comparator<MagicCondensedCardDefinition> TOUGHNESS_COMPARATOR_ASC=new Comparator<MagicCondensedCardDefinition>() {
|
||||||
|
@Override
|
||||||
|
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
|
||||||
|
return MagicCardDefinition.POWER_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,71 @@
|
||||||
|
package magic.model;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
public class MagicCondensedDeck extends ArrayList<MagicCondensedCardDefinition> {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 143L;
|
||||||
|
|
||||||
|
private String name = "Unsaved Deck";
|
||||||
|
|
||||||
|
public MagicCondensedDeck() {}
|
||||||
|
|
||||||
|
public MagicCondensedDeck(final MagicCondensedDeck deck) {
|
||||||
|
super(deck);
|
||||||
|
name = deck.getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
public MagicCondensedDeck(final MagicDeck list) {
|
||||||
|
this((List<MagicCardDefinition>) list);
|
||||||
|
|
||||||
|
name = list.getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
public MagicCondensedDeck(final List<MagicCardDefinition> list) {
|
||||||
|
super();
|
||||||
|
|
||||||
|
Collections.sort(list, MagicCardDefinition.NAME_COMPARATOR_DESC);
|
||||||
|
|
||||||
|
MagicCondensedCardDefinition lastDeckCard = null;
|
||||||
|
|
||||||
|
for(int i = 0; i < list.size(); i++) {
|
||||||
|
// increment copies count if more than one of the same card
|
||||||
|
if(lastDeckCard != null && MagicCardDefinition.NAME_COMPARATOR_DESC.compare(lastDeckCard.getCard(), list.get(i)) == 0) {
|
||||||
|
lastDeckCard.incrementNumCopies();
|
||||||
|
} else {
|
||||||
|
lastDeckCard = new MagicCondensedCardDefinition(list.get(i));
|
||||||
|
add(lastDeckCard);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setContent(final MagicCondensedDeck deck) {
|
||||||
|
clear();
|
||||||
|
addAll(deck);
|
||||||
|
name = deck.getName();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(final String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public MagicDeck toMagicDeck() {
|
||||||
|
MagicDeck deck = new MagicDeck();
|
||||||
|
|
||||||
|
for(int i = 0; i < size(); i++) {
|
||||||
|
MagicCondensedCardDefinition card = get(i);
|
||||||
|
|
||||||
|
for(int j = 0; j < card.getNumCopies(); j++) {
|
||||||
|
deck.add(card.getCard());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return deck;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,163 +0,0 @@
|
||||||
package magic.model;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
// basically a wrapper for MagicCardDefinition that adds number of copies of card
|
|
||||||
public class MagicDeckCardDefinition {
|
|
||||||
private int copies;
|
|
||||||
private MagicCardDefinition card;
|
|
||||||
|
|
||||||
public MagicDeckCardDefinition(MagicCardDefinition card) {
|
|
||||||
this.card = card;
|
|
||||||
copies = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public MagicCardDefinition getCard() {
|
|
||||||
return card;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void incrementNumCopies() {
|
|
||||||
copies++;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void decrementNumCopies() {
|
|
||||||
if (copies > 0) {
|
|
||||||
copies--;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setNumCopies(int i) {
|
|
||||||
copies = i;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getNumCopies() {
|
|
||||||
return copies;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<MagicDeckCardDefinition> simpleCopyCardList(List<MagicCardDefinition> list) {
|
|
||||||
ArrayList<MagicDeckCardDefinition> newList = new ArrayList<MagicDeckCardDefinition>();
|
|
||||||
for(int i = 0; i < list.size(); i++) {
|
|
||||||
newList.add(new MagicDeckCardDefinition(list.get(i)));
|
|
||||||
}
|
|
||||||
return newList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static List<MagicDeckCardDefinition> condenseCopyCardList(List<MagicCardDefinition> list) {
|
|
||||||
Collections.sort(list, MagicCardDefinition.NAME_COMPARATOR_DESC);
|
|
||||||
|
|
||||||
ArrayList<MagicDeckCardDefinition> newList = new ArrayList<MagicDeckCardDefinition>();
|
|
||||||
MagicDeckCardDefinition lastDeckCard = null;
|
|
||||||
|
|
||||||
for(int i = 0; i < list.size(); i++) {
|
|
||||||
// increment copies count if more than one of the same card
|
|
||||||
if(lastDeckCard != null && MagicCardDefinition.NAME_COMPARATOR_DESC.compare(lastDeckCard.getCard(), list.get(i)) == 0) {
|
|
||||||
lastDeckCard.incrementNumCopies();
|
|
||||||
} else {
|
|
||||||
lastDeckCard = new MagicDeckCardDefinition(list.get(i));
|
|
||||||
newList.add(lastDeckCard);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return newList;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> NUM_COPIES_COMPARATOR_DESC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return cardDefinition1.getNumCopies() - cardDefinition2.getNumCopies();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> NUM_COPIES_COMPARATOR_ASC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicDeckCardDefinition.NUM_COPIES_COMPARATOR_DESC.compare(cardDefinition2, cardDefinition1);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> NAME_COMPARATOR_DESC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicCardDefinition.NAME_COMPARATOR_DESC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> NAME_COMPARATOR_ASC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicCardDefinition.NAME_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> CONVERTED_COMPARATOR_DESC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicCardDefinition.CONVERTED_COMPARATOR_DESC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> CONVERTED_COMPARATOR_ASC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicCardDefinition.CONVERTED_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> TYPE_COMPARATOR_DESC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicCardDefinition.TYPE_COMPARATOR_DESC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> TYPE_COMPARATOR_ASC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicCardDefinition.TYPE_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> RARITY_COMPARATOR_DESC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicCardDefinition.RARITY_COMPARATOR_DESC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> RARITY_COMPARATOR_ASC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicCardDefinition.RARITY_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> POWER_COMPARATOR_DESC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicCardDefinition.POWER_COMPARATOR_DESC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> POWER_COMPARATOR_ASC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicCardDefinition.POWER_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> TOUGHNESS_COMPARATOR_DESC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicCardDefinition.TOUGHNESS_COMPARATOR_DESC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
public static final Comparator<MagicDeckCardDefinition> TOUGHNESS_COMPARATOR_ASC=new Comparator<MagicDeckCardDefinition>() {
|
|
||||||
@Override
|
|
||||||
public int compare(final MagicDeckCardDefinition cardDefinition1,final MagicDeckCardDefinition cardDefinition2) {
|
|
||||||
return MagicCardDefinition.POWER_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -28,8 +28,8 @@ public enum MagicDeckConstructionRule {
|
||||||
brokenRules.add(MinDeckSize);
|
brokenRules.add(MinDeckSize);
|
||||||
}
|
}
|
||||||
|
|
||||||
List<MagicDeckCardDefinition> countedDeck = MagicDeckCardDefinition.condenseCopyCardList(deck);
|
MagicCondensedDeck countedDeck = new MagicCondensedDeck(deck);
|
||||||
for(MagicDeckCardDefinition countedCard : countedDeck) {
|
for(MagicCondensedCardDefinition countedCard : countedDeck) {
|
||||||
if(countedCard.getNumCopies() > 4 && !countedCard.getCard().isBasic() && !countedCard.getCard().getName().equals("Relentless Rats")) {
|
if(countedCard.getNumCopies() > 4 && !countedCard.getCard().isBasic() && !countedCard.getCard().getName().equals("Relentless Rats")) {
|
||||||
brokenRules.add(FourCopyLimit);
|
brokenRules.add(FourCopyLimit);
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package magic.ui;
|
package magic.ui;
|
||||||
|
|
||||||
import magic.model.MagicCardDefinition;
|
import magic.model.MagicCardDefinition;
|
||||||
import magic.model.MagicDeckCardDefinition;
|
import magic.model.MagicCondensedCardDefinition;
|
||||||
|
import magic.model.MagicCondensedDeck;
|
||||||
|
import magic.model.MagicDeck;
|
||||||
import magic.model.MagicManaCost;
|
import magic.model.MagicManaCost;
|
||||||
|
|
||||||
import java.lang.Integer;
|
import java.lang.Integer;
|
||||||
|
@ -71,11 +73,11 @@ public class CardTableModel implements TableModel {
|
||||||
private final boolean isDeck;
|
private final boolean isDeck;
|
||||||
|
|
||||||
private boolean[] isDesc = new boolean[] {false, false, false, false, false, false, false, false, false, false, false, false, false};
|
private boolean[] isDesc = new boolean[] {false, false, false, false, false, false, false, false, false, false, false, false, false};
|
||||||
private List<MagicDeckCardDefinition> cardDefinitions;
|
private MagicCondensedDeck cardDefinitions;
|
||||||
private Comparator<MagicDeckCardDefinition> comp;
|
private Comparator<MagicCondensedCardDefinition> comp;
|
||||||
|
|
||||||
public CardTableModel(final List<MagicCardDefinition> cardDefs, final boolean isDeck) {
|
public CardTableModel(final List<MagicCardDefinition> cardDefs, final boolean isDeck) {
|
||||||
this.comp = MagicDeckCardDefinition.NAME_COMPARATOR_DESC;
|
this.comp = MagicCondensedCardDefinition.NAME_COMPARATOR_DESC;
|
||||||
this.isDeck = isDeck;
|
this.isDeck = isDeck;
|
||||||
|
|
||||||
setCards(cardDefs);
|
setCards(cardDefs);
|
||||||
|
@ -99,11 +101,7 @@ public class CardTableModel implements TableModel {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCards(List<MagicCardDefinition> defs) {
|
public void setCards(List<MagicCardDefinition> defs) {
|
||||||
if (isDeck) {
|
this.cardDefinitions = new MagicCondensedDeck(defs);
|
||||||
this.cardDefinitions = MagicDeckCardDefinition.condenseCopyCardList(defs);
|
|
||||||
} else {
|
|
||||||
this.cardDefinitions = MagicDeckCardDefinition.simpleCopyCardList(defs);
|
|
||||||
}
|
|
||||||
|
|
||||||
// re-sort if necessary
|
// re-sort if necessary
|
||||||
if(comp != null) {
|
if(comp != null) {
|
||||||
|
@ -112,23 +110,23 @@ public class CardTableModel implements TableModel {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sort(int column) {
|
public void sort(int column) {
|
||||||
Comparator<MagicDeckCardDefinition> oldComp = comp;
|
Comparator<MagicCondensedCardDefinition> oldComp = comp;
|
||||||
comp = null;
|
comp = null;
|
||||||
|
|
||||||
switch(column) {
|
switch(column) {
|
||||||
case 0: comp = (isDesc[column]) ? MagicDeckCardDefinition.NUM_COPIES_COMPARATOR_ASC : MagicDeckCardDefinition.NUM_COPIES_COMPARATOR_DESC;
|
case 0: comp = (isDesc[column]) ? MagicCondensedCardDefinition.NUM_COPIES_COMPARATOR_ASC : MagicCondensedCardDefinition.NUM_COPIES_COMPARATOR_DESC;
|
||||||
break;
|
break;
|
||||||
case 1: comp = (isDesc[column]) ? MagicDeckCardDefinition.NAME_COMPARATOR_ASC : MagicDeckCardDefinition.NAME_COMPARATOR_DESC;
|
case 1: comp = (isDesc[column]) ? MagicCondensedCardDefinition.NAME_COMPARATOR_ASC : MagicCondensedCardDefinition.NAME_COMPARATOR_DESC;
|
||||||
break;
|
break;
|
||||||
case 2: comp = (isDesc[column]) ? MagicDeckCardDefinition.CONVERTED_COMPARATOR_ASC : MagicDeckCardDefinition.CONVERTED_COMPARATOR_DESC;
|
case 2: comp = (isDesc[column]) ? MagicCondensedCardDefinition.CONVERTED_COMPARATOR_ASC : MagicCondensedCardDefinition.CONVERTED_COMPARATOR_DESC;
|
||||||
break;
|
break;
|
||||||
case 3: comp = (isDesc[column]) ? MagicDeckCardDefinition.POWER_COMPARATOR_ASC : MagicDeckCardDefinition.POWER_COMPARATOR_DESC;
|
case 3: comp = (isDesc[column]) ? MagicCondensedCardDefinition.POWER_COMPARATOR_ASC : MagicCondensedCardDefinition.POWER_COMPARATOR_DESC;
|
||||||
break;
|
break;
|
||||||
case 4: comp = (isDesc[column]) ? MagicDeckCardDefinition.TOUGHNESS_COMPARATOR_ASC : MagicDeckCardDefinition.TOUGHNESS_COMPARATOR_DESC;
|
case 4: comp = (isDesc[column]) ? MagicCondensedCardDefinition.TOUGHNESS_COMPARATOR_ASC : MagicCondensedCardDefinition.TOUGHNESS_COMPARATOR_DESC;
|
||||||
break;
|
break;
|
||||||
case 5: comp = (isDesc[column]) ? MagicDeckCardDefinition.TYPE_COMPARATOR_ASC : MagicDeckCardDefinition.TYPE_COMPARATOR_DESC;
|
case 5: comp = (isDesc[column]) ? MagicCondensedCardDefinition.TYPE_COMPARATOR_ASC : MagicCondensedCardDefinition.TYPE_COMPARATOR_DESC;
|
||||||
break;
|
break;
|
||||||
case 7: comp = (isDesc[column]) ? MagicDeckCardDefinition.RARITY_COMPARATOR_ASC : MagicDeckCardDefinition.RARITY_COMPARATOR_DESC;
|
case 7: comp = (isDesc[column]) ? MagicCondensedCardDefinition.RARITY_COMPARATOR_ASC : MagicCondensedCardDefinition.RARITY_COMPARATOR_DESC;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue