using UnityEditor; using UnityEditor.SceneManagement; using UnityEngine.SceneManagement; namespace Module.NavigationTool.Editor.Toolbar { [InitializeOnLoad] internal static class ToolScenePickerEditorStateChanged { static ToolScenePickerEditorStateChanged() { EditorApplication.playModeStateChanged += OnPlayModeStateChanged; SceneManager.activeSceneChanged += OnActiveSceneChanged; EditorSceneManager.newSceneCreated += OnNewSceneCreated; } private static void OnPlayModeStateChanged(PlayModeStateChange state) { ToolScenePicker.SetAsDirty(); } private static void OnActiveSceneChanged(Scene current, Scene next) { ToolScenePicker.SetAsDirty(); } private static void OnNewSceneCreated(Scene scene, NewSceneSetup setup, NewSceneMode mode) { ToolScenePicker.SetAsDirty(); } } }