package magic.model.action; import magic.model.MagicGame; import magic.model.stack.MagicItemOnStack; import magic.model.stack.MagicStack; public class RemoveItemFromStackAction extends MagicAction { private final MagicItemOnStack itemOnStack; private int position; public RemoveItemFromStackAction(final MagicItemOnStack itemOnStack) { this.itemOnStack=itemOnStack; } @Override public void doAction(final MagicGame game) { final MagicStack stack=game.getStack(); position=stack.indexOf(itemOnStack); if (position != -1) { game.getStack().removeFrom(position); } } @Override public void undoAction(final MagicGame game) { if (position != -1) { game.getStack().addTo(position,itemOnStack); } } }