Dominion.PlayerState.MoveRevealedCardToTopOfDeck C# (CSharp) Method

MoveRevealedCardToTopOfDeck() private method

private MoveRevealedCardToTopOfDeck ( ) : void
return void
        internal void MoveRevealedCardToTopOfDeck()
        {
            if (this.cardsBeingRevealed.Any)
            {
                if (this.cardsBeingRevealed.Count > 1)
                {
                    throw new Exception("With more than one card in revealed cards it's ambiguous which order to move cards on top of deck");
                }

                Card card = this.cardsBeingRevealed.RemoveSomeCard();
                this.gameLog.PlayerTopDeckedCard(this, card);
                this.deck.AddCardToTop(card);
            }
        }

Same methods

PlayerState::MoveRevealedCardToTopOfDeck ( Dominion.Card typeOfCard ) : void

Usage Example

        public override void DoSpecializedAction(PlayerState currentPlayer, GameState gameState)
        {
            Card revealedCard = currentPlayer.DrawAndRevealOneCardFromDeck(gameState);
            if (revealedCard.isTreasure)
            {
                currentPlayer.MoveAllRevealedCardsToHand();
            }
            else
            {
                currentPlayer.MoveRevealedCardToTopOfDeck();
            }

            if (revealedCard.isAction || revealedCard.isVictory)
            {
                currentPlayer.GainCardFromSupply(Cards.Magpie, gameState);
            }
        }
All Usage Examples Of Dominion.PlayerState::MoveRevealedCardToTopOfDeck
PlayerState