RequestPlayerMoveRevealedCardToHand() private method

private RequestPlayerMoveRevealedCardToHand ( GameState gameState, CardPredicate acceptableCard ) : Dominion.Card
gameState GameState
acceptableCard CardPredicate
return Dominion.Card
        public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState)
        {
            Card trashedCard = null;
            if (currentPlayer.actions.ShouldTrashCard(gameState, Cards.Raze))
            {
                if (currentPlayer.MoveCardFromPlayToTrash(gameState))
                    trashedCard = Cards.Raze;
            }
            else
            {
                trashedCard = currentPlayer.RequestPlayerTrashCardFromHand(gameState, c => true, isOptional: false);
            }

            if (trashedCard == null)
                return;

            int cardsToLookAt = trashedCard.CurrentCoinCost(currentPlayer);
            if (cardsToLookAt == 0)
                return;

            currentPlayer.LookAtCardsFromDeck(cardsToLookAt, gameState);
            currentPlayer.RequestPlayerMoveRevealedCardToHand(gameState, c => true);
            currentPlayer.MoveLookedAtCardsToDiscard(gameState);
        }