Dominion.PlayerState.RequestPlayerTrashRevealedCard C# (CSharp) Method

RequestPlayerTrashRevealedCard() private method

private RequestPlayerTrashRevealedCard ( GameState gameState, CardPredicate acceptableCard ) : Dominion.Card
gameState GameState
acceptableCard CardPredicate
return Dominion.Card
        internal Card RequestPlayerTrashRevealedCard(GameState gameState, CardPredicate acceptableCard)
        {
            if (!this.cardsBeingRevealed.AnyWhere(acceptableCard))
            {
                return null;
            }

            Card cardtoTrash = this.actions.GetCardFromRevealedCardsToTrash(gameState, acceptableCard);
            if (cardtoTrash == null)
            {
                throw new Exception("Player must choose a card to trash");
            }

            if (!acceptableCard(cardtoTrash))
            {
                throw new Exception("Card did not meet constraint");
            }

            this.MoveRevealedCardToTrash(cardtoTrash, gameState);

            return cardtoTrash;
        }

Usage Example

Beispiel #1
0
 private static void AttackAction(PlayerState currentPlayer, PlayerState otherPlayer, GameState gameState)
 {
     otherPlayer.RevealCardsFromDeck(2, gameState);
     otherPlayer.RequestPlayerTrashRevealedCard(gameState, card => Card.DoesCardCost3To6(card, otherPlayer));
     otherPlayer.MoveRevealedCardsToDiscard(gameState);
 }
All Usage Examples Of Dominion.PlayerState::RequestPlayerTrashRevealedCard
PlayerState