mirror of
https://github.com/correl/mage.git
synced 2025-02-19 11:07:01 +00:00
Fixing limited: removed card lazy loading
This commit is contained in:
parent
a186cc5c33
commit
6b6f718bc4
2 changed files with 39 additions and 16 deletions
|
@ -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()));
|
||||
}
|
||||
|
||||
|
|
|
@ -77,19 +77,19 @@ public abstract class ExpansionSet implements Serializable {
|
|||
this.releaseDate = releaseDate;
|
||||
this.setType = setType;
|
||||
this.packageName = packageName;
|
||||
//this.cards = getCardClassesForPackage(packageName);
|
||||
//this.rarities = getCardsByRarity();
|
||||
this.cards = getCardClassesForPackage(packageName);
|
||||
this.rarities = getCardsByRarity();
|
||||
}
|
||||
|
||||
public List<Card> getCards() {
|
||||
if (cards == null) {
|
||||
/*if (cards == null) {
|
||||
synchronized (this) {
|
||||
if (cards == null) {
|
||||
this.cards = getCardClassesForPackage(packageName);
|
||||
this.rarities = getCardsByRarity();
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
return cards;
|
||||
}
|
||||
|
||||
|
@ -301,7 +301,7 @@ public abstract class ExpansionSet implements Serializable {
|
|||
private Map<Rarity, List<Card>> getCardsByRarity() {
|
||||
Map<Rarity, List<Card>> cardsByRarity = new HashMap<Rarity, List<Card>>();
|
||||
|
||||
for (Card card : cards) {
|
||||
for (Card card : getCards()) {
|
||||
if (!cardsByRarity.containsKey(card.getRarity()))
|
||||
cardsByRarity.put(card.getRarity(), new ArrayList<Card>());
|
||||
cardsByRarity.get(card.getRarity()).add(card);
|
||||
|
@ -426,7 +426,7 @@ public abstract class ExpansionSet implements Serializable {
|
|||
}
|
||||
|
||||
protected Card getRandom(Rarity rarity) {
|
||||
if (!rarities.containsKey(rarity))
|
||||
if (rarities.containsKey(rarity))
|
||||
return null;
|
||||
int size = rarities.get(rarity).size();
|
||||
if (size > 0) {
|
||||
|
@ -452,4 +452,11 @@ public abstract class ExpansionSet implements Serializable {
|
|||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public Map<Rarity, List<Card>> getRarities() {
|
||||
/*if (rarities == null) {
|
||||
this.rarities = getCardsByRarity();
|
||||
}*/
|
||||
return rarities;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue