fix table sort by rarity :

Mythic_Rare>Rare>Uncommon>Common>Basic>Unknow(token)
add table sort by subtype: string order
master
neoedmund 2016-02-23 14:19:20 +08:00 committed by lodici
parent d9d7861233
commit 88ce4eeb17
4 changed files with 36 additions and 5 deletions

View File

@ -337,7 +337,7 @@ public class MagicCardDefinition implements MagicAbilityStore, IRenderableCard {
}
public int getRarity() {
return rarity.ordinal();
return rarity == null ? -1 : rarity.ordinal();
}
public String getRarityString() {
@ -980,11 +980,26 @@ public class MagicCardDefinition implements MagicAbilityStore, IRenderableCard {
return TYPE_COMPARATOR_DESC.compare(cardDefinition2, cardDefinition1);
}
};
public static final Comparator<MagicCardDefinition> SUBTYPE_COMPARATOR_DESC=new Comparator<MagicCardDefinition>() {
@Override
public int compare(final MagicCardDefinition cardDefinition1,final MagicCardDefinition cardDefinition2) {
final int c = cardDefinition1.getSubTypeString().compareTo(cardDefinition2.getSubTypeString());
return c;
}
};
public static final Comparator<MagicCardDefinition> SUBTYPE_COMPARATOR_ASC=new Comparator<MagicCardDefinition>() {
@Override
public int compare(final MagicCardDefinition cardDefinition1,final MagicCardDefinition cardDefinition2) {
return SUBTYPE_COMPARATOR_DESC.compare(cardDefinition2, cardDefinition1);
}
};
public static final Comparator<MagicCardDefinition> RARITY_COMPARATOR_DESC=new Comparator<MagicCardDefinition>() {
@Override
public int compare(final MagicCardDefinition cardDefinition1,final MagicCardDefinition cardDefinition2) {
return cardDefinition1.getRarityString().compareTo(cardDefinition2.getRarityString());
return cardDefinition1.getRarity() - cardDefinition2.getRarity();
}
};
@ -1080,6 +1095,6 @@ public class MagicCardDefinition implements MagicAbilityStore, IRenderableCard {
return false;
} else {
return true;
}
}
}
}
}

View File

@ -89,7 +89,18 @@ public class MagicCondensedCardDefinition {
return MagicCardDefinition.CONVERTED_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
}
};
public static final Comparator<MagicCondensedCardDefinition> SUBTYPE_COMPARATOR_ASC=new Comparator<MagicCondensedCardDefinition>() {
@Override
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
return MagicCardDefinition.SUBTYPE_COMPARATOR_ASC.compare(cardDefinition1.getCard(), cardDefinition2.getCard());
}
};
public static final Comparator<MagicCondensedCardDefinition> SUBTYPE_COMPARATOR_DESC=new Comparator<MagicCondensedCardDefinition>() {
@Override
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {
return MagicCardDefinition.SUBTYPE_COMPARATOR_DESC.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) {
@ -97,6 +108,7 @@ public class MagicCondensedCardDefinition {
}
};
public static final Comparator<MagicCondensedCardDefinition> TYPE_COMPARATOR_ASC=new Comparator<MagicCondensedCardDefinition>() {
@Override
public int compare(final MagicCondensedCardDefinition cardDefinition1,final MagicCondensedCardDefinition cardDefinition2) {

View File

@ -141,6 +141,8 @@ public class CardTableModel implements TableModel {
break;
case 5: comp = isDesc[column] ? MagicCondensedCardDefinition.TYPE_COMPARATOR_ASC : MagicCondensedCardDefinition.TYPE_COMPARATOR_DESC;
break;
case 6: comp = isDesc[column] ? MagicCondensedCardDefinition.SUBTYPE_COMPARATOR_ASC : MagicCondensedCardDefinition.SUBTYPE_COMPARATOR_DESC;
break;
case 7: comp = isDesc[column] ? MagicCondensedCardDefinition.RARITY_COMPARATOR_ASC : MagicCondensedCardDefinition.RARITY_COMPARATOR_DESC;
break;
}

View File

@ -103,6 +103,8 @@ public class DeckTableModel extends AbstractTableModel {
break;
case 5: comp = isDesc[column] ? MagicCondensedCardDefinition.TYPE_COMPARATOR_ASC : MagicCondensedCardDefinition.TYPE_COMPARATOR_DESC;
break;
case 6: comp = isDesc[column] ? MagicCondensedCardDefinition.SUBTYPE_COMPARATOR_ASC : MagicCondensedCardDefinition.SUBTYPE_COMPARATOR_DESC;
break;
case 7: comp = isDesc[column] ? MagicCondensedCardDefinition.RARITY_COMPARATOR_ASC : MagicCondensedCardDefinition.RARITY_COMPARATOR_DESC;
break;
}