Exemplo n.º 1
0
    public void SceneLoad(string sceneName)
    {
        Scene activeScene = SceneManager.GetActiveScene();

        SaveFileManager.Save(new PlayerData(SceneController.score, SceneController.diamonds, SceneController.lastForm,
                                            SceneController.r, SceneController.g, SceneController.b, SceneController.LastLevel, LevelOpenCloseDictionary.GetAllStates(), СolorOpenCloseDictionary.GetAllStates()));
        SceneManager.UnloadSceneAsync(activeScene.buildIndex);

        PauseButton pauseButton = GameObject.Find("Pause").GetComponent <PauseButton>();//TODO: подумать над способами избавиться от операции Find()

        pauseButton.PauseEventToNull();
        pauseButton.blurTransparencyChange.ResetColor();
        pauseButton.ScreenBlur.SetActive(false);
        PauseButton.PauseClick        = false; // убирает меню
        Time.timeScale                = 1;     // восстанавливаем ход времени
        AndroidControlls.GameIsPaused = false; // разблокируем управление

        SceneManager.LoadScene(sceneName, LoadSceneMode.Additive);
    }
Exemplo n.º 2
0
 //void OnApplicationPause()
 //{
 //    SaveFileManager.Save(new PlayerData(score, diamonds, form));
 //}
 void OnApplicationQuit() // сохранение только при выходе и при загрузке новой сцены в BaseController, в остальных случаях происходит точечное переписывание переменных этого класса
 {
     SaveFileManager.Save(new PlayerData(score, diamonds, lastForm, r, g, b, LastLevel, LevelOpenCloseDictionary.GetAllStates(), СolorOpenCloseDictionary.GetAllStates()));
 }