private void SetupGame(ArenaSize arenaSize, int playerCount, int botCount, List <string> playerNames)
        {
            cameraManager = GameObject.FindWithTag("CameraManager").GetComponent <CameraManager>();
            shipManager   = GameObject.FindWithTag("ShipManager").GetComponent <ShipManager>();

            ResetArenaSize(arenaSize);

            var availablePlayerNames = playerNames.ToList();
            var players     = new List <GameObject>();
            var playerShips = new List <GameObject>();

            for (var i = 0; i < playerCount; i++)
            {
                var playerNameIndex = Random.Range(0, availablePlayerNames.Count - 1);
                var playerName      = availablePlayerNames[playerNameIndex];
                availablePlayerNames.RemoveAt(playerNameIndex);
                var playerOrder = i + 1;

                var player = i < playerCount - botCount
                    ? CreatePlayer(playerName, playerOrder)
                    : CreateBot(playerOrder);

                var playerShip = CreateShipAndPlacePlayerAboveShip(player);
                players.Add(player);
                playerShips.Add(playerShip);
            }

            ResetShips(playerShips);
            ResetPlayers(players);
            HasLoaded = true;
        }
 public GamePoint(float x, float y, float z, double angle, string collisionName, string regionLabel = "Default", ArenaSize arenaSize = ArenaSize.Any)
 {
     Position      = new Vector3(x, y, z);
     Angle         = (float)angle;
     CollisionName = collisionName;
     RegionLabel   = regionLabel;
     ArenaSize     = arenaSize;
     NearbyCount   = -1;
 }
 private void ResetArenaSize(ArenaSize size)
 {
     if (size == ArenaSize.Large)
     {
         SetToLargeArena();
     }
     else if (size == ArenaSize.Small)
     {
         SetToSmallArena();
     }
     else if (size == ArenaSize.Gigantic)
     {
         SetToGiganticArena();
     }
 }
Exemple #4
0
        public static Color GetColorForSize(ArenaSize size)
        {
            switch (size)
            {
                case ArenaSize.Tiny:
                    return C_LEVEL_1;
                case ArenaSize.Small:
                    return C_LEVEL_2;
                case ArenaSize.Medium:
                    return C_LEVEL_3;
                case ArenaSize.Large:
                    return C_LEVEL_4;
                case ArenaSize.Huge:
                    return C_LEVEL_5;
            }

            return Color.White;
        }