module-navigation-tool/Editor/Toolbar/MainToolbarElements/Handlers/MainToolbarUIStateChanged.cs

48 lines
1.3 KiB
C#

#if UNITY_6000_3_OR_NEWER
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine.SceneManagement;
namespace Module.NavigationTool.Editor.Toolbar
{
[InitializeOnLoad]
internal static class MainToolbarUIStateChanged
{
static MainToolbarUIStateChanged()
{
EditorSceneManager.sceneSaved += OnSceneSaved;
EditorSceneManager.sceneOpened += OnSceneOpened;
EditorSceneManager.sceneClosed += OnSceneClosed;
PrefabStage.prefabStageOpened += OnPrefabStageOpened;
PrefabStage.prefabStageClosing += OnPrefabStageClosing;
}
private static void OnSceneSaved(Scene scene)
{
MainToolbarUIElement.Refresh();
}
private static void OnSceneOpened(Scene scene, OpenSceneMode mode)
{
MainToolbarUIElement.Refresh();
}
private static void OnSceneClosed(Scene scene)
{
MainToolbarUIElement.Refresh();
}
private static void OnPrefabStageOpened(PrefabStage stage)
{
MainToolbarUIElement.Refresh();
}
private static void OnPrefabStageClosing(PrefabStage stage)
{
MainToolbarUIElement.Refresh();
}
}
}
#endif