public RoundState(IEnumerable <IRoundPlayerState> players,
                          IList <IRoundPlayerState> remainingPlayers,
                          IList <ISetAsideCardState> removedFromRound,
                          IList <IDrawableCardState> drawDeck,
                          int roundIndex = 0,
                          IRoundPlayerState winningPlayerState              = null,
                          IRoundPlayerState currentPlayerState              = null,
                          IDrawableTurnState drawableTurnState              = null,
                          IDiscardableTurnState discardableTurnState        = null,
                          IEnumerable <IShufflableCardState> shufflableDeck = null)
        {
            RoundIndex = roundIndex;
            var roundPlayers = players as IRoundPlayerState[] ?? players.ToArray();

            Players              = roundPlayers;
            RemainingPlayers     = remainingPlayers;
            WinningPlayerState   = winningPlayerState;
            CurrentPlayerState   = currentPlayerState;
            DrawableTurnState    = drawableTurnState;
            DiscardableTurnState = discardableTurnState;
            ShufflableDeck       = shufflableDeck;
            RemovedFromRound     = removedFromRound;
            DrawDeck             = drawDeck;
        }
Exemple #2
0
        public void Draw(IDrawableTurnState turn)
        {
            var card = _cardStateFactory.Draw(turn.TurnDeck);

            turn.DrawablePlayerState.TurnHand.Add(card);
        }