Dominion.PlayerState.MoveCardFromHandToDiscard C# (CSharp) Method

MoveCardFromHandToDiscard() private method

private MoveCardFromHandToDiscard ( Dominion.Card cardTypeToDiscard, GameState gameState ) : Dominion.Card
cardTypeToDiscard Dominion.Card
gameState GameState
return Dominion.Card
        private Card MoveCardFromHandToDiscard(Card cardTypeToDiscard, GameState gameState)
        {
            Card cardToDiscard = this.hand.RemoveCard(cardTypeToDiscard);
            if (cardToDiscard == null)
            {
                throw new Exception("Could not remove Card From Hand");
            }

            this.DiscardCard(cardToDiscard, gameState, DeckPlacement.Hand);

            return cardToDiscard;
        }

Usage Example

Ejemplo n.º 1
0
        internal bool RequestPlayerDiscardCardFromOtherPlayersHand(GameState gameState, PlayerState otherPlayer)
        {
            if (!otherPlayer.hand.Any)
            {
                return false;
            }
            otherPlayer.RevealHand();

            Card cardTypeToDiscard = this.actions.GetCardFromOtherPlayersHandToDiscard(gameState, otherPlayer);
            if (cardTypeToDiscard == null)
            {
                {
                    throw new Exception("Player must choose a card to discard");
                }
            }

            otherPlayer.MoveCardFromHandToDiscard(cardTypeToDiscard, gameState);

            return true;
        }
PlayerState