Removed sorting by collector info.

This commit is contained in:
marcins78
2013-01-03 11:41:02 +00:00
parent 73ec617e47
commit 30b90eedab
3 changed files with 12 additions and 66 deletions

View File

@@ -52,8 +52,6 @@ public class SortAndFilterCards {
comparators.addComparator(new PacksFirstComparator(new StrengthComparator(cardLibrary)));
else if (oneSort.equals("vitality"))
comparators.addComparator(new PacksFirstComparator(new VitalityComparator(cardLibrary)));
else if (oneSort.equals("collectorInfo"))
comparators.addComparator(new PacksFirstComparator(new CardBlueprintIdComparator()));
else if (oneSort.equals("cardType"))
comparators.addComparator(new PacksFirstComparator(new CardTypeComparator(cardLibrary)));
else if (oneSort.equals("culture"))
@@ -384,54 +382,4 @@ public class SortAndFilterCards {
return culture.ordinal();
}
}
private static class CardBlueprintIdComparator implements Comparator<CardItem> {
@Override
public int compare(CardItem o1, CardItem o2) {
String[] o1Parts = o1.getBlueprintId().split("_");
String[] o2Parts = o2.getBlueprintId().split("_");
if (o1Parts[0].equals(o2Parts[0])) {
final int firstNumber = getAvailableNumber(o1Parts[1]);
final int secondNumber = getAvailableNumber(o2Parts[1]);
if (firstNumber != secondNumber)
return firstNumber - secondNumber;
return compareSameCardNumber(o1Parts[1], o2Parts[1]);
} else {
return getAvailableNumber(o1Parts[0]) - getAvailableNumber(o2Parts[0]);
}
}
private int compareSameCardNumber(String card1, String card2) {
if (card1.endsWith("*") && card2.endsWith("*"))
return compareNotFoils(card1.substring(0, card1.length() - 1), card2.substring(0, card2.length() - 1));
if (card1.endsWith("*"))
return -1;
if (card2.endsWith("*"))
return 1;
return compareNotFoils(card1, card2);
}
private int compareNotFoils(String card1, String card2) {
return card1.compareTo(card2);
}
private int getAvailableNumber(String str) {
try {
return Integer.parseInt(str.substring(0, getFirstNonDigitIndex(str)));
} catch (NumberFormatException exp) {
return 0;
}
}
private int getFirstNonDigitIndex(String str) {
final char[] chars = str.toCharArray();
for (int i = 0; i < chars.length; i++)
if (!Character.isDigit(chars[i]))
return i;
return chars.length;
}
}
}

View File

@@ -138,14 +138,13 @@ var CardFilter = Class.extend({
this.nameInput = $("<input type='text' value='Card name' style='width: 130px; font-size: 70%;'>");
this.sortSelect = $("<select style='width: 80px; font-size: 80%;'>"
+ "<option value=''>Sort by:</option>"
+ "<option value='name,collectorInfo'>Name</option>"
+ "<option value='twilight,name,collectorInfo'>Twilight</option>"
+ "<option value='name'>Name</option>"
+ "<option value='twilight,name'>Twilight</option>"
+ "<option value='siteNumber,name'>Site number</option>"
+ "<option value='strength,name,collectorInfo'>Strength</option>"
+ "<option value='vitality,name,collectorInfo'>Vitality</option>"
+ "<option value='cardType,name,collectorInfo'>Card type</option>"
+ "<option value='culture,name,collectorInfo'>Culture</option>"
+ "<option value='collectorInfo'>Collector's Info</option>"
+ "<option value='strength,name'>Strength</option>"
+ "<option value='vitality,name'>Vitality</option>"
+ "<option value='cardType,name'>Card type</option>"
+ "<option value='culture,name'>Culture</option>"
+ "</select>");
this.raritySelect = $("<select style='width: 40px; font-size: 80%;'>"
+ "<option value=''>Rarity:</option>"

View File

@@ -137,14 +137,13 @@ var CardFilter = Class.extend({
+ "</select>");
this.nameInput = $("<input type='text' style='width: 130px; font-size: 70%; float: right'>");
this.sortSelect = $("<select style='font-size: 75%; float: right'>"
+ "<option value='name,collectorInfo'>Name</option>"
+ "<option value='twilight,name,collectorInfo'>Twilight</option>"
+ "<option value='name'>Name</option>"
+ "<option value='twilight,name'>Twilight</option>"
+ "<option value='siteNumber,name'>Site number</option>"
+ "<option value='strength,name,collectorInfo'>Strength</option>"
+ "<option value='vitality,name,collectorInfo'>Vitality</option>"
+ "<option value='cardType,name,collectorInfo'>Card type</option>"
+ "<option value='culture,name,collectorInfo'>Culture</option>"
+ "<option value='collectorInfo'>Collector's Info</option>"
+ "<option value='strength,name'>Strength</option>"
+ "<option value='vitality,name'>Vitality</option>"
+ "<option value='cardType,name'>Card type</option>"
+ "<option value='culture,name'>Culture</option>"
+ "</select>");
this.raritySelect = $("<select style='font-size: 75%; float: right'>"
+ "<option value=''>All</option>"