package magic.model.action;
import magic.model.MagicGame;
import magic.model.MagicPlayer;
import magic.model.choice.MagicBuilderManaCost;
import magic.model.choice.MagicDelayedPayManaCostResult;
public class PayDelayedCostAction extends MagicAction {
private final MagicPlayer player;
private final MagicDelayedPayManaCostResult result;
private MagicBuilderManaCost oldBuilderCost;
public PayDelayedCostAction(final MagicPlayer player,final MagicDelayedPayManaCostResult result) {
this.player=player;
this.result=result;
}
@Override
public void doAction(final MagicGame game) {
oldBuilderCost=player.getBuilderCost();
final MagicBuilderManaCost builderCost=new MagicBuilderManaCost(oldBuilderCost);
result.getCost().addTo(builderCost,result.getX());
player.setBuilderCost(builderCost);
}
@Override
public void undoAction(final MagicGame game) {
player.setBuilderCost(oldBuilderCost);
}
}