Dominion.PlayerState.RequestPlayerTrashCardFromHand C# (CSharp) Method

RequestPlayerTrashCardFromHand() private method

private RequestPlayerTrashCardFromHand ( GameState gameState, CardPredicate acceptableCardsToTrash, bool isOptional, CollectionCards cardsTrashedSoFar = null ) : Dominion.Card
gameState GameState
acceptableCardsToTrash CardPredicate
isOptional bool
cardsTrashedSoFar CollectionCards
return Dominion.Card
        internal Card RequestPlayerTrashCardFromHand(GameState gameState, CardPredicate acceptableCardsToTrash, bool isOptional, CollectionCards cardsTrashedSoFar = null)
        {
            Card cardTypeToTrash = RequestPlayerTrashCardFromHandButDontTrash(gameState, acceptableCardsToTrash, isOptional, cardsTrashedSoFar);

            if (cardTypeToTrash != null)
                this.TrashCardFromHandOfType(gameState, cardTypeToTrash, guaranteeInHand: true);

            return cardTypeToTrash;
        }

Usage Example

Ejemplo n.º 1
0
        public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState)
        {
            currentPlayer.victoryTokenCount += 1;
            Card trashedCard = currentPlayer.RequestPlayerTrashCardFromHand(gameState, acceptableCardsToTrash => true, isOptional: false);
            if (trashedCard != null)
            {
                currentPlayer.victoryTokenCount += trashedCard.CurrentCoinCost(currentPlayer) / 2;
            }

            foreach (PlayerState otherPlayer in gameState.players.OtherPlayers)
            {
                otherPlayer.RequestPlayerTrashCardFromHand(gameState, acceptableCardsToTrash => true, isOptional: true);
            }
        }
All Usage Examples Of Dominion.PlayerState::RequestPlayerTrashCardFromHand
PlayerState