예제 #1
0
    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();
    }