示例#1
0
 private void OnSceneUnloaded(ModScene scene)
 {
     if (SceneUnloaded != null)
     {
         SceneUnloaded.Invoke(scene);
     }
 }
示例#2
0
文件: Mod.cs 项目: pipe01/ModTool
        private void OnSceneUnloaded(Resource scene)
        {
            SceneUnloaded?.Invoke((ModScene)scene);

            if (!_scenes.Any(s => s.isBusy))
            {
                End();
            }
        }
示例#3
0
        /// <summary>
        /// Called when a new scene is unloaded.
        /// </summary>
        private void NotifySceneUnloaded(string[] sceneNames)
        {
            foreach (var sceneName in sceneNames)
            {
                Logger.LogInfo("Scene Unloaded: " + sceneName);
            }

            SceneUnloaded?.Invoke(this, new SceneEventArgs(sceneNames));
        }
示例#4
0
        private void SceneUnloadedWrapper(Scene scene)
        {
            if (SceneUnloaded != null)
            {
                SceneUnloaded.Invoke(scene);
            }

            --NotFinishedRequests;

            _logger.InfoFormat("scene unloaded {0}", scene.name);
        }
示例#5
0
        static void ProcessSceneUnLoad(string sceneName)
        {
            s_LoadSceneOperations.Remove(sceneName);
            if (s_UnloadSceneCallbacks.TryGetValue(sceneName, out var callbacks))
            {
                s_UnloadSceneCallbacks.Remove(sceneName);
                foreach (var callback in callbacks)
                {
                    callback();
                }
            }

            SceneUnloaded.Invoke(new SceneInfo(sceneName));
        }
示例#6
0
        static void SceneUnloadComplete(Scene scene)
        {
            SceneUnloaded.Invoke(scene);
            if (s_UnloadSceneCallbacks.TryGetValue(scene.name, out var callbacks))
            {
                foreach (var callback in callbacks)
                {
                    callback();
                }

                s_UnloadSceneCallbacks.Remove(scene.name);
            }

            s_LoadSceneOperations.Remove(scene.name);
        }
        static void AddressableSceneUnloaded(AddressableSceneUnloaderResult result)
        {
            AddressablesLogger.Log($"[ADDRESSABLES] AddressableSceneUnloaded Status: {result.AsyncOperationHandle.Status}, Scene: {result.SceneName}");
            SceneUnloaded.Invoke(result.Scene);

            if (s_UnloadSceneCallbacks.TryGetValue(result.SceneName, out var callbacks))
            {
                foreach (var callback in callbacks)
                {
                    callback();
                }

                s_UnloadSceneCallbacks.Remove(result.SceneName);
            }

            s_LoadSceneOperations.Remove(result.SceneName);
        }
示例#8
0
        internal static void Internal_OnSceneEvent(SceneEventType eventType, Scene scene, ref Guid sceneId)
        {
            switch (eventType)
            {
            case SceneEventType.Saving:
                SceneSaving?.Invoke(scene, sceneId);
                break;

            case SceneEventType.Saved:
                SceneSaved?.Invoke(scene, sceneId);
                break;

            case SceneEventType.SaveError:
                SceneSaveError?.Invoke(scene, sceneId);
                break;

            case SceneEventType.Loading:
                SceneLoading?.Invoke(scene, sceneId);
                break;

            case SceneEventType.Loaded:
                SceneLoaded?.Invoke(scene, sceneId);
                break;

            case SceneEventType.LoadError:
                SceneLoadError?.Invoke(scene, sceneId);
                break;

            case SceneEventType.Unloading:
                SceneUnloading?.Invoke(scene, sceneId);
                break;

            case SceneEventType.Unloaded:
                SceneUnloaded?.Invoke(scene, sceneId);
                break;
            }
        }
 private static void HandleSceneUnloaded(Scene scene) => SceneUnloaded?.Invoke(scene);
示例#10
0
 private static void OnSceneUnloaded(Scene scene)
 {
     SceneManager.sceneUnloaded -= OnSceneUnloaded;
     SceneUnloaded?.Invoke(scene);
 }