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(); } }
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; }