package magic.model.event;
import magic.model.MagicCounterType;
import magic.model.MagicGame;
import magic.model.MagicPermanent;
import magic.model.action.ChangeCountersAction;
public class MagicAddCounterEvent extends MagicEvent {
public MagicAddCounterEvent(final MagicPermanent permanent,final MagicCounterType counterType,final int amount) {
super(
permanent,
(final MagicGame game, final MagicEvent event) ->
game.doAction(new ChangeCountersAction(
event.getPermanent(),
counterType,
amount
)),
genDescription(permanent,counterType,amount)
);
}
private static String genDescription(final MagicPermanent permanent,final MagicCounterType counterType,final int amount) {
final StringBuilder description=new StringBuilder("Put ");
if (amount==1) {
description.append("a ").append(counterType.getName()).append(" counter");
} else {
description.append(amount).append(' ').append(counterType.getName()).append(" counters");
}
description.append(" on ").append(permanent.getName()).append('.');
return description.toString();
}
}