Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
            }
        }