package magic.model.action; import java.util.ArrayList; import java.util.Collection; import java.util.List; import magic.model.MagicCard; import magic.model.MagicGame; import magic.model.MagicMessage; import magic.model.MagicPlayer; import magic.model.MagicSource; import magic.model.choice.MagicFromCardListChoice; import magic.model.event.MagicEvent; import magic.model.event.MagicEventAction; public class RevealAction extends MagicAction { private final List<MagicCard> cards = new ArrayList<>(); public RevealAction(final MagicCard aCard) { cards.add(aCard); } public RevealAction(final Collection<MagicCard> aCards) { cards.addAll(aCards); } @Override public void doAction(final MagicGame game) { if (cards.isEmpty()) { return; } game.doAction(new AIRevealAction(cards)); final MagicPlayer you = cards.get(0).getController(); final String message = you + " reveals " + MagicMessage.getTokenizedCardNames(cards) + "."; game.logAppendMessage(you, message); game.addEvent(new MagicEvent( MagicSource.NONE, you.getOpponent(), new MagicFromCardListChoice(cards, message), MagicEventAction.NONE, "" )); } @Override public void undoAction(final MagicGame game) { //do nothing for now } }