using UnityEngine; /// /// UI管理器适配器 /// 为了保持向后兼容性,将旧的UIManager调用转发到新的EnhancedUIManager /// public class UIManagerAdapter { /// /// 显示面板 - 兼容旧接口 /// public static T ShowPanel(bool isFade = true) where T : BasePanel { // 根据面板类型推断UI类型 UIPanelType panelType = GetPanelType(); return EnhancedUIManager.Instance.ShowPanel(panelType, false, isFade); } /// /// 隐藏面板 - 兼容旧接口 /// public static void HidePanel(bool isFade = true) where T : BasePanel { EnhancedUIManager.Instance.HidePanel(isFade); } /// /// 获取面板 - 兼容旧接口 /// public static T GetPanel() where T : BasePanel { return EnhancedUIManager.Instance.GetPanel(); } /// /// 返回主界面 /// public static void ReturnToHome() { EnhancedUIManager.Instance.ReturnToHome(); } /// /// 返回上一级 /// public static bool GoBack() { return EnhancedUIManager.Instance.GoBack(); } /// /// 根据面板类型推断UI层级类型 /// private static UIPanelType GetPanelType() where T : BasePanel { string panelName = typeof(T).Name.ToLower(); // 主界面类型 if (panelName.Contains("main") || panelName.Contains("login") || panelName.Contains("standby")) { return UIPanelType.Base; } // 对话框类型 if (panelName.Contains("dialog") || panelName.Contains("confirm")) { return UIPanelType.Dialog; } // 用户管理相关面板 if (panelName.Contains("user") || panelName.Contains("add") || panelName.Contains("delete") || panelName.Contains("change")) { return UIPanelType.Popup; } // 警报覆盖面板 if (panelName.Contains("alarm") && panelName.Contains("overlay")) { return UIPanelType.System; } // 默认为普通面板 return UIPanelType.Normal; } } /// /// 兼容性UIManager - 重定向到新系统 /// 保持与现有代码的兼容性 /// public class UIManager { private static UIManager instance = new UIManager(); public static UIManager Instance => instance; public T ShowPanel(bool isFade = true) where T : BasePanel { return UIManagerAdapter.ShowPanel(isFade); } public void HidePanel(bool isFade = true) where T : BasePanel { UIManagerAdapter.HidePanel(isFade); } public T GetPanel() where T : BasePanel { return UIManagerAdapter.GetPanel(); } /// /// 返回主界面 - 新功能 /// public void ReturnToHome() { UIManagerAdapter.ReturnToHome(); } /// /// 返回上一级 - 新功能 /// public bool GoBack() { return UIManagerAdapter.GoBack(); } }