Added builder method to cards

This commit is contained in:
magenoxx 2012-06-29 10:02:02 +04:00
parent ebf8e372bd
commit 533cc69101
4 changed files with 12 additions and 1 deletions

View file

@ -99,6 +99,8 @@ public interface Card extends MageObject {
public boolean putOntoBattlefield(Game game, Zone fromZone, UUID sourceId, UUID controllerId); public boolean putOntoBattlefield(Game game, Zone fromZone, UUID sourceId, UUID controllerId);
public List<Mana> getMana(); public List<Mana> getMana();
public void build();
@Override @Override
public Card copy(); public Card copy();
} }

View file

@ -124,6 +124,7 @@ public abstract class CardImpl<T extends CardImpl<T>> extends MageObjectImpl<T>
Class<?> theClass = Class.forName(name); Class<?> theClass = Class.forName(name);
Constructor<?> con = theClass.getConstructor(new Class[]{UUID.class}); Constructor<?> con = theClass.getConstructor(new Class[]{UUID.class});
Card card = (Card) con.newInstance(new Object[]{null}); Card card = (Card) con.newInstance(new Object[]{null});
card.build();
return card; return card;
} catch (Exception e) { } catch (Exception e) {
logger.fatal("Error loading card: " + name, e); logger.fatal("Error loading card: " + name, e);
@ -453,4 +454,7 @@ public abstract class CardImpl<T extends CardImpl<T>> extends MageObjectImpl<T>
} }
info.put(key, value); info.put(key, value);
} }
@Override
public void build() {}
} }

View file

@ -122,7 +122,9 @@ public abstract class ExpansionSet implements Serializable {
private Card createCard(Class clazz) { private Card createCard(Class clazz) {
try { try {
Constructor<?> con = clazz.getConstructor(new Class[]{UUID.class}); Constructor<?> con = clazz.getConstructor(new Class[]{UUID.class});
return (Card) con.newInstance(new Object[]{null}); Card card = (Card) con.newInstance(new Object[]{null});
card.build();
return card;
} catch (Exception ex) { } catch (Exception ex) {
logger.fatal("Error creating card:" + clazz.getName(), ex); logger.fatal("Error creating card:" + clazz.getName(), ex);
return null; return null;

View file

@ -468,5 +468,8 @@ public class Spell<T extends Spell<T>> implements StackObject, Card {
public boolean isCopy() { public boolean isCopy() {
return isCopiedSpell(); return isCopiedSpell();
} }
@Override
public void build() {}
} }