MoveCardFromPlayedAreaToTrash() private method

private MoveCardFromPlayedAreaToTrash ( Dominion.Card card, GameState gameState ) : void
card Dominion.Card
gameState GameState
return void
Beispiel #1
0
 private new void DoSpecializedActionToCardWhileInPlay(PlayerState currentPlayer, GameState gameState, Card card)
 {
     if (card.isAttack)
     {
         if (currentPlayer.actions.ShouldTrashCard(gameState, this))
         {
             currentPlayer.MoveCardFromPlayedAreaToTrash(Cards.Urchin, gameState);
             currentPlayer.GainCardFromSupply(Cards.Mercenary, gameState);
         }
     }
 }
Beispiel #2
0
        public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState)
        {
            Card cardToPlay = currentPlayer.RequestPlayerChooseCardToRemoveFromHandForPlay(gameState, acceptableCard => acceptableCard.isAction, isTreasure: false, isAction: true, isOptional: true);
            if (cardToPlay != null)
            {
                currentPlayer.DoPlayAction(cardToPlay, gameState, countTimes: 2);
                currentPlayer.MoveCardFromPlayedAreaToTrash(cardToPlay, gameState);

                currentPlayer.RequestPlayerGainCardFromSupply(gameState,
                    acceptableCard =>
                        acceptableCard.CurrentCoinCost(currentPlayer) == cardToPlay.CurrentCoinCost(currentPlayer) + 1 &&
                        acceptableCard.potionCost == cardToPlay.potionCost &&
                        acceptableCard.isAction,
                    "must gain an action card costing exactly one more than the trashed card");
            }
        }