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; }
public void Draw(IDrawableTurnState turn) { var card = _cardStateFactory.Draw(turn.TurnDeck); turn.DrawablePlayerState.TurnHand.Add(card); }