abstract parsing of cost to event to separate method

master
melvin 2013-10-18 12:33:22 +08:00
parent c18977c950
commit 069d6703bb
1 changed files with 45 additions and 41 deletions

View File

@ -116,6 +116,23 @@ public abstract class MagicPermanentActivation extends MagicActivation<MagicPerm
) {
@Override
public Iterable<? extends MagicEvent> getCostEvent(final MagicPermanent source) {
return englishToCostEvents(costs, source);
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
choice,
picker,
action,
text + "$"
);
}
};
}
private static final List<MagicEvent> englishToCostEvents(final String[] costs, final MagicPermanent source) {
final List<MagicEvent> events = new LinkedList<MagicEvent>();
for (String cost : costs) {
if (cost.equals("{S}")) {
@ -159,19 +176,6 @@ public abstract class MagicPermanentActivation extends MagicActivation<MagicPerm
return events;
}
@Override
public MagicEvent getPermanentEvent(final MagicPermanent source, final MagicPayedCost payedCost) {
return new MagicEvent(
source,
choice,
picker,
action,
text + "$"
);
}
};
}
public static final MagicPermanentActivation TapAddCharge = new MagicPermanentActivation(
new MagicActivationHints(MagicTiming.Pump),
"Charge"