Exemple #1
0
        public override void Init()
        {
            OnInit?.Invoke(NestedScope);
            base.Init();

            SceneManager.activeSceneChanged += ActiveSceneChanged;
            SceneManager.sceneUnloaded      += s => { NestedScope.Save(); };
        }
Exemple #2
0
        private void ActiveSceneChanged(Scene oldScene, Scene newScene)
        {
            if (oldScene.name != null)
            {
                NestedScope.Save();
            }

            NestedScope = new T();

            OnSceneChange?.Invoke(NestedScope, newScene);
            (NestedScope as ScopePlayerPrefs)?.Setup(newScene.name);

            NestedScope.Init();
        }