Пример #1
0
        public void Discard(IDiscardableTurnState turn,
                            IDiscardableCardState card,
                            ITargetablePlayerState targetPlayer = null)
        {
            turn.DiscardablePlayer.TurnHand.Remove(card);
            var discarded = _cardStateFactory.Discard(card);

            turn.DiscardablePlayer.TurnDiscard = discarded;
            turn.TargetPlayer = targetPlayer;
        }
Пример #2
0
        public void Discard5(ITargetablePlayerState targetPlayer, IList <IDrawableCardState> deck, IList <ISetAsideCardState> setAside)
        {
            var discarded = _cardStateFactory.Discard(targetPlayer.RoundHand);

            targetPlayer.RoundDiscard.Add(discarded);
            var newCard = deck.Any() ?
                          _cardStateFactory.Draw(deck) :
                          _cardStateFactory.Draw(setAside);

            targetPlayer.RoundHand = newCard;
        }