void Awake() { instance = this; }
// Update is called once per frame private void Update() { if (_isMenu) { if (!MainMenu.IsStarting) { return; } Game = MainMenu.GameMode; _isMenu = false; _isLoading = true; MainMenu.gameObject.SetActive(false); LoadingScreen.gameObject.SetActive(true); foreach (var room in _rooms) { room.gameObject.SetActive(room.Game == Game); if (room.Game == Game) { _currentRoom = room; } } _shakeIt = _currentRoom.GetComponent <ShakeIt>(); if (_shakeIt != null) { _shakeIt.IsActive = true; } _level = _currentRoom.GetComponent <ILevel>(); Spawner.BallSpawner.gameObject.SetActive(true); Spawner.ItemSpawner.gameObject.SetActive(Game == GameType.Collect || Game == GameType.ChangeRoom); Spawner.ItemSpawner.TimeBasedSpawning = (Game == GameType.Collect); Spawner.SortSpawner.gameObject.SetActive(Game == GameType.Sort); return; } if (LoadingScreen.IsLoading) { return; } if (_isLoading && !LoadingScreen.IsLoading) { _isLoading = false; LoadingScreen.gameObject.SetActive(false); if (_shakeIt != null) { _shakeIt.IsActive = false; } for (var i = 0; i < _players.Length && i < MainMenu.PlayerCount; i++) { _players[i].gameObject.SetActive(true); _players[i].GetComponent <CollectItems>().enabled = (Game == GameType.Collect || Game == GameType.ChangeRoom); _playerHubs.First(hub => hub.Player == _players[i]).gameObject.SetActive(true); } return; } if (_level.HasWinner) { foreach (var player in _players) { player.gameObject.SetActive(false); } GameOver.Winner = _level.Winner; GameOver.gameObject.SetActive(true); } }