Dominion.PlayerState.RequestPlayerDiscardCardFromOtherPlayersHand C# (CSharp) Method

RequestPlayerDiscardCardFromOtherPlayersHand() private method

private RequestPlayerDiscardCardFromOtherPlayersHand ( GameState gameState, PlayerState otherPlayer ) : bool
gameState GameState
otherPlayer PlayerState
return bool
        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