public override void StateStart(object context) { base.StateStart(context); base.updateEnable = false; if (loadSceneName != "" && SceneManager.GetActiveScene().name != loadSceneName) { SceneManager.sceneLoaded += OnSceneLoaded; LoadSceneMode mode = asAdditiveLoad ? LoadSceneMode.Additive : LoadSceneMode.Single; if (asAsyncLoad) { SceneManager.LoadSceneAsync(loadSceneName, mode); } else { SceneManager.LoadScene(loadSceneName, mode); } } else { sceneRepository = FindObjectOfType <SceneRepositoryBase>(); this.SceneLoaded(); } }
private void OnSceneLoaded(Scene scene, LoadSceneMode mode) { SceneManager.sceneLoaded -= OnSceneLoaded; sceneRepository = FindObjectOfType <SceneRepositoryBase>(); this.SceneLoaded(); }