#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