public Player(IEndPlayerInfo userIdentity, int cheeseCount, NumberCollection numbers) { if (userIdentity == null) { throw new ArgumentNullException(nameof(userIdentity)); } if (numbers == null) { throw new ArgumentNullException(nameof(numbers)); } if (cheeseCount >= numbers.Count) { throw new ArgumentOutOfRangeException(nameof(cheeseCount), "You can't have more cheese than there is in the game."); } if (cheeseCount <= 0) { throw new ArgumentOutOfRangeException(nameof(cheeseCount), "You need some cheese in the game to be a player."); } _userIdentity = userIdentity; Status = PlayerStatus.Playing; _cheeseCount = cheeseCount; _draws.AddRange(from i in ThreadSafeRandom.Pick(cheeseCount, numbers.CountInUse) select new Draw(i, numbers[i].Name)); }
public GameActive(IHubContext <LobbyHub, ILobbyHub> lobbyHubContext, NumberCollection numbers, ILogger <GameActive> logger) : base(lobbyHubContext, numbers, logger) { }
public Game(IHubContext <LobbyHub, ILobbyHub> lobbyHubContext, NumberCollection numbers, ILogger <IGame> logger) { _lobbyHubContext = lobbyHubContext; _allNumbers = numbers; _logger = logger; }