private void Init() { if (InitializationManager.Instance == null) { UnityEngine.SceneManagement.SceneManager.LoadScene("Initialization"); } tutorialCompleted = false; if (SaveManager.Instance != null) { tutorialCompleted = SaveManager.Instance.GetTutorialStatus(); } character.OnGameOver += GameOver; gameUI.OnMenuPress = null; gameUI.OnMenuPress += OpenMainMenu; gameUI.OnUpgradesPress = null; gameUI.OnUpgradesPress += OpenUpgrades; gameUI.OnReplayPress = null; gameUI.OnReplayPress += Replay; gameUI.DisplayPoints(0); gameUI.OnMusicChange = null; gameUI.OnMusicChange += UpdateMusicPreference; gameUI.OnSoundEffectsChange = null; gameUI.OnSoundEffectsChange += UpdateSoundEffectsPreference; gameUI.OnTutorialChange = null; gameUI.OnTutorialChange += UpdateTutorialStatus; gameUI.OnRewardedAdConfirmation = null; gameUI.OnRewardedAdConfirmation += CheckForRewardedAd; gameUI.OnGameCenterPress = null; gameUI.OnGameCenterPress += InitializeGameCenter; levelGenerator.OnBlockPassed = null; levelGenerator.OnBlockPassed += BlockCompleted; powerUpsManager.Initialize(); levelGenerator.Initialize(CollectableGained, powerUpsManager.GetAvaliablePowerUps(), tutorialCompleted); gameUI.Init(); currentCoinUpgradeLevel = SaveManager.Instance.GetUpgradeLevel(Upgrades.CoinsUpgrade); currentMegaCoinUpgradeLevel = SaveManager.Instance.GetUpgradeLevel(Upgrades.MegaCoinUpgrade); bool musicOn = true; bool soundEffectsOn = true; if (SoundManager.Instance != null) { musicOn = SoundManager.Instance.MusicOn; soundEffectsOn = SoundManager.Instance.SoundEffectsOn; } gameUI.InitializeSoundPreferences(musicOn, soundEffectsOn); gameUI.InitializeTutorialStatus(tutorialCompleted); if (!tutorialCompleted) { gameUI.HideControls(); } character.Initialize(); StaticInfo.AddPlay(); }