127 lines
3.2 KiB
C#
127 lines
3.2 KiB
C#
|
|
using UnityEngine;
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// UI管理器适配器
|
|||
|
|
/// 为了保持向后兼容性,将旧的UIManager调用转发到新的EnhancedUIManager
|
|||
|
|
/// </summary>
|
|||
|
|
public class UIManagerAdapter
|
|||
|
|
{
|
|||
|
|
/// <summary>
|
|||
|
|
/// 显示面板 - 兼容旧接口
|
|||
|
|
/// </summary>
|
|||
|
|
public static T ShowPanel<T>(bool isFade = true) where T : BasePanel
|
|||
|
|
{
|
|||
|
|
// 根据面板类型推断UI类型
|
|||
|
|
UIPanelType panelType = GetPanelType<T>();
|
|||
|
|
return EnhancedUIManager.Instance.ShowPanel<T>(panelType, false, isFade);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 隐藏面板 - 兼容旧接口
|
|||
|
|
/// </summary>
|
|||
|
|
public static void HidePanel<T>(bool isFade = true) where T : BasePanel
|
|||
|
|
{
|
|||
|
|
EnhancedUIManager.Instance.HidePanel<T>(isFade);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 获取面板 - 兼容旧接口
|
|||
|
|
/// </summary>
|
|||
|
|
public static T GetPanel<T>() where T : BasePanel
|
|||
|
|
{
|
|||
|
|
return EnhancedUIManager.Instance.GetPanel<T>();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 返回主界面
|
|||
|
|
/// </summary>
|
|||
|
|
public static void ReturnToHome()
|
|||
|
|
{
|
|||
|
|
EnhancedUIManager.Instance.ReturnToHome();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 返回上一级
|
|||
|
|
/// </summary>
|
|||
|
|
public static bool GoBack()
|
|||
|
|
{
|
|||
|
|
return EnhancedUIManager.Instance.GoBack();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 根据面板类型推断UI层级类型
|
|||
|
|
/// </summary>
|
|||
|
|
private static UIPanelType GetPanelType<T>() 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;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 兼容性UIManager - 重定向到新系统
|
|||
|
|
/// 保持与现有代码的兼容性
|
|||
|
|
/// </summary>
|
|||
|
|
public class UIManager
|
|||
|
|
{
|
|||
|
|
private static UIManager instance = new UIManager();
|
|||
|
|
public static UIManager Instance => instance;
|
|||
|
|
|
|||
|
|
public T ShowPanel<T>(bool isFade = true) where T : BasePanel
|
|||
|
|
{
|
|||
|
|
return UIManagerAdapter.ShowPanel<T>(isFade);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public void HidePanel<T>(bool isFade = true) where T : BasePanel
|
|||
|
|
{
|
|||
|
|
UIManagerAdapter.HidePanel<T>(isFade);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
public T GetPanel<T>() where T : BasePanel
|
|||
|
|
{
|
|||
|
|
return UIManagerAdapter.GetPanel<T>();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 返回主界面 - 新功能
|
|||
|
|
/// </summary>
|
|||
|
|
public void ReturnToHome()
|
|||
|
|
{
|
|||
|
|
UIManagerAdapter.ReturnToHome();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/// <summary>
|
|||
|
|
/// 返回上一级 - 新功能
|
|||
|
|
/// </summary>
|
|||
|
|
public bool GoBack()
|
|||
|
|
{
|
|||
|
|
return UIManagerAdapter.GoBack();
|
|||
|
|
}
|
|||
|
|
}
|