com.soviby.unity.ui.ugui-to.../Assets/Editor/Helper/PanelHelper.cs

39 lines
1.1 KiB
C#

#if UNITY_EDITOR
using Sirenix.OdinInspector.Editor;
using UguiToolkit.Editor.Windows;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine;
namespace UguiToolkit.Editor
{
public static class PanelHelper
{
[InitializeOnLoadMethod]
public static void AddListener()
{
PrefabStage.prefabStageOpened += OnPrefabStageOpened;
PrefabStage.prefabStageClosing += OnPrefabStageClosing;
}
private static void OnPrefabStageOpened(PrefabStage stage)
{
var setting = GlobalManager.Instance.setting;
if (!stage.assetPath.StartsWith(setting.prefabForUIDirPath)) return;
// 打开配置界面
PanelCacheWindow.ShowWindow(new PanelCacheWindow.PanelCacheWindowArgs
{
stage = stage,
});
}
private static void OnPrefabStageClosing(PrefabStage stage)
{
// 关闭界面
PanelCacheWindow.CloseWindow();
EditWindow.CloseWindow();
}
}
}
#endif