package magic.model.choice;
import java.util.List;
import magic.exception.UndoClickedException;
import magic.model.IUIGameController;
import magic.model.MagicCardList;
import magic.model.MagicGame;
import magic.model.MagicPlayer;
import magic.model.MagicSource;
import magic.model.event.MagicEvent;
public class MagicScryChoice extends MagicMayChoice {
// translatable UI text (prefix with _S).
private static final String _S1 = "Move this card from the top of the library to the bottom?";
public MagicScryChoice() {
super(_S1);
}
@Override
public List<Object[]> getArtificialChoiceResults(final MagicGame game, final MagicEvent event) {
final MagicPlayer player = event.getPlayer();
if (player.getLibrary().isEmpty()) {
return NO_CHOICE_LIST;
} else {
return NO_OTHER_CHOICE_RESULTS;
}
}
@Override
public Object[] getPlayerChoiceResults(final IUIGameController controller, final MagicGame game, final MagicEvent event) throws UndoClickedException {
final MagicPlayer player = event.getPlayer();
final MagicSource source = event.getSource();
final Object[] choiceResults=new Object[1];
choiceResults[0]=NO_CHOICE;
if (player.getLibrary().isEmpty()) {
return choiceResults;
}
final MagicCardList cards = new MagicCardList();
cards.add(player.getLibrary().getCardAtTop());
controller.showCards(cards);
controller.disableActionButton(false);
if (controller.getMayChoice(source, getDescription())) {
choiceResults[0]=YES_CHOICE;
}
controller.clearCards();
return choiceResults;
}
}