Fix so rules not replaced when updated

This commit is contained in:
drdev
2013-11-23 03:05:28 +00:00
parent c4db463338
commit ca5e20b1a9
2 changed files with 6 additions and 4 deletions

View File

@@ -349,12 +349,14 @@ public final class CardDb implements ICardDatabase {
public CardRules putCard(CardRules rules) { return putCard(rules, null); /* will use data from editions folder */ }
public CardRules putCard(CardRules rules, List<Pair<String, CardRarity>> whenItWasPrinted){ // works similarly to Map<K,V>, returning prev. value
String cardName = rules.getName();
CardRules result = rulesByName.put(cardName, rules);
if(result.getName().equals(cardName)){ // change properties only
CardRules result = rulesByName.get(cardName);
if (result != null && result.getName().equals(cardName)){ // change properties only
result.reinitializeFromRules(rules);
return result;
}
result = rulesByName.put(cardName, rules);
// 1. generate all paper cards from edition data we have (either explicit, or found in res/editions, or add to unknown edition)
List<PaperCard> paperCards = new ArrayList<PaperCard>();

View File

@@ -121,7 +121,7 @@ public enum CCardScript implements ICDoc {
updateDirtyFlag();
CardRules newRules = CardRules.fromScript(Arrays.asList(text.split("\n")));
Singletons.getMagicDb().getCommonCards().getEditor().putCard(newRules);
newRules = Singletons.getMagicDb().getCommonCards().getEditor().putCard(newRules);
this.currentCard = Singletons.getMagicDb().getCommonCards().getCard(newRules.getName());
VWorkshopCatalog.SINGLETON_INSTANCE.getCardManager().repaint();