internal Card TrashCardFromDiscardOfType(GameState gameState, Card cardType, bool guaranteeInDiscard)
{
Card currentCard = this.RemoveCardFromDiscard(cardType);
if (currentCard == null)
{
if (!guaranteeInDiscard)
{
return null;
}
else
{
throw new Exception("Player tried to trash a card that wasn't available in the discard.");
}
}
MoveCardToTrash(currentCard, gameState);
return currentCard;
}