package magic.model.action;
import java.util.List;
import magic.model.MagicCard;
import magic.model.MagicGame;
import magic.model.MagicLocationType;
import magic.model.MagicPlayer;
public class ShuffleCardsIntoLibraryAction extends MagicAction {
private List<MagicCard> cards;
private MagicLocationType from;
public ShuffleCardsIntoLibraryAction(final List<MagicCard> aCards, final MagicLocationType aFrom) {
cards = aCards;
from = aFrom;
}
@Override
public void doAction(final MagicGame game) {
final boolean[] shouldShuffle = {false, false};
for (final MagicCard card : cards) {
game.doAction(new ShiftCardAction(card, from, MagicLocationType.TopOfOwnersLibrary));
shouldShuffle[card.getOwner().getIndex()] = true;
}
for (final MagicPlayer player : game.getAPNAP()) {
if (shouldShuffle[player.getIndex()]) {
game.doAction(new ShuffleLibraryAction(player));
}
}
}
@Override
public void undoAction(final MagicGame game) {
//do nothing
}
}