33 lines
1,009 B
C#
33 lines
1,009 B
C#
using Module.NavigationTool.Editor.Tools;
|
|
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();
|
|
}
|
|
}
|
|
} |