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 List<Mana> getMana();
|
||||
|
||||
public void build();
|
||||
|
||||
@Override
|
||||
public Card copy();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -124,6 +124,7 @@ public abstract class CardImpl<T extends CardImpl<T>> extends MageObjectImpl<T>
|
|||
Class<?> theClass = Class.forName(name);
|
||||
Constructor<?> con = theClass.getConstructor(new Class[]{UUID.class});
|
||||
Card card = (Card) con.newInstance(new Object[]{null});
|
||||
card.build();
|
||||
return card;
|
||||
} catch (Exception 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);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void build() {}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -122,7 +122,9 @@ public abstract class ExpansionSet implements Serializable {
|
|||
private Card createCard(Class clazz) {
|
||||
try {
|
||||
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) {
|
||||
logger.fatal("Error creating card:" + clazz.getName(), ex);
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -468,5 +468,8 @@ public class Spell<T extends Spell<T>> implements StackObject, Card {
|
|||
public boolean isCopy() {
|
||||
return isCopiedSpell();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void build() {}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue