void Start() { LevelStateDictionary = new LevelOpenCloseDictionary(); LevelPriceDictionary = new LevelOpenPriceDictionary(); ColorStateDictionary = new СolorOpenCloseDictionary(); ColorPriceDictionary = new ColorOpenPriceDictionary(); ScreenBorders.CalculateScreenBorders(); try { LoadSaveFile(); } catch { LoadBlanckSaveFile(); } LoadMenuScene(); }
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); }
//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())); }