private IEnumerator LevelCompleteSequence() { playersBatManager.LevelComplete(); brickManager.LevelComplete(); powerUpManager.LevelComplete(); fallingObjectsManager.LevelComplete(); levelTimer.StopTimer(); // check if the max level beaten should be increased var maxLevelBeaten = PlayerPrefs.GetInt(Constants.MAXLevelBeatenPrefix); var nextLevelNumber = PlayerPrefs.GetInt(Constants.CurrentLevel) + 1; if (nextLevelNumber > maxLevelBeaten) { maxLevelBeaten = nextLevelNumber; // todo move this to a data manager class PlayerPrefs.SetInt(Constants.MAXLevelBeatenPrefix, maxLevelBeaten); } if (nextLevelNumber > GameVariables.TotalAmountOfLevels) { PlaySound(SoundList.levelComplete); CoreConnector.UIManager.DisplayScreen(UIScreens.GameComplete); } else { PlaySound(SoundList.levelComplete); CoreConnector.UIManager.DisplayScreen(UIScreens.LevelComplete); } yield return(null); ballManager.LevelComplete(); }