using DominionBase.Enums; using DominionBase.Piles; using DominionBase.Players; using System.Diagnostics.Contracts; namespace DominionBase.Cards.Nocturne { public class Haunting : Hex { public Haunting() : base(Source.Nocturne, Traits.CardOrdering) { } public override void Receive(IPlayer player) { Contract.Requires(player != null, "player cannot be null"); base.Receive(player); if (player.Hand.Count >= 4) { var choice = new Choice("Choose a card to put onto your deck.", this, player.Hand, ChoiceOutcome.Select, player); var result = player.MakeChoice(choice); player.RetrieveCardsFrom(DeckLocation.Hand, result.Cards); player.AddCardsToDeck(result.Cards, DeckPosition.Top); } } } }