public GameManager(List <HanksiteSession> realPlayers, Common.Lobby.LobbySettings settings) { this.id = Interlocked.Increment(ref gameManagerCounter); this.startTime = DateTime.Now; this.name = settings.Name; this.players = new List <PlayerBase>(); initializePlayers(realPlayers, settings); this.map = MapBuilder.CreateMap(players.Select(player => player.ID).ToList(), settings.NumberOfColours); }
private void initializePlayers(List <HanksiteSession> realPlayers, Common.Lobby.LobbySettings settings) { players.AddRange(realPlayers.Select(realPlayer => new RealPlayer(realPlayer, this))); int aiPlayerCount = 0; foreach (var botNumber in settings.BotNumbers) { for (int i = 0; i < botNumber.Number; i++) { players.Add(new AIPlayer(aiPlayerCount, botNumber.Difficulty, this)); aiPlayerCount++; } } players.Shuffle(); for (int i = 0; i < players.Count; i++) { players[i].Colour = i; } }