Fixing limited: removed card lazy loading

This commit is contained in:
magenoxx 2012-06-23 09:41:32 +04:00
parent a186cc5c33
commit 6b6f718bc4
2 changed files with 39 additions and 16 deletions

View file

@ -120,9 +120,25 @@ public class Sets extends HashMap<String, ExpansionSet> {
private void addSet(ExpansionSet set) {
this.put(set.getCode(), set);
cards.addAll(set.getCards());
for (Card card : set.getCards()) {
names.add(card.getName());
if (card.getCardType().contains(CardType.CREATURE)) {
for (String type : card.getSubtype()) {
creatureTypes.add(type);
if (type.equals("")) {
throw new IllegalStateException("Card with empty subtype: " + card.getName());
}
}
}
if (!card.getCardType().contains(CardType.LAND)) nonLandNames.add(card.getName());
}
if (creatureTypes.contains("")) {
creatureTypes.remove("");
}
}
private static void loadCards() {
/*private static void loadCards() {
if (cards.isEmpty()) {
System.out.println("Loading cards...");
long t1 = System.currentTimeMillis();
@ -146,33 +162,33 @@ public class Sets extends HashMap<String, ExpansionSet> {
}
System.out.println("It took " + (System.currentTimeMillis() - t1) / 1000 + " ms to load all cards.");
}
}
}*/
public static Set<String> getCardNames() {
if (names.isEmpty()) {
/*if (names.isEmpty()) {
loadCards();
}
}*/
return names;
}
public static Set<String> getNonLandCardNames() {
if (nonLandNames.isEmpty()) {
/*if (nonLandNames.isEmpty()) {
loadCards();
}
}*/
return nonLandNames;
}
public static Set<String> getCreatureTypes() {
if (creatureTypes.isEmpty()) {
/*if (creatureTypes.isEmpty()) {
loadCards();
}
}*/
return creatureTypes;
}
public static Card getRandomCard() {
if (cards.isEmpty()) {
/*if (cards.isEmpty()) {
loadCards();
}
}*/
return cards.get(rnd.nextInt(cards.size()));
}