mirror of
https://github.com/magefree/mage.git
synced 2025-12-23 03:51:58 -08:00
Added builder method to cards
This commit is contained in:
parent
ebf8e372bd
commit
533cc69101
4 changed files with 12 additions and 1 deletions
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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() {}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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() {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue