GeWuYou 88ced1ac55 refactor(ui): 重构UI层级管理系统
- 移除 System.Collections.Generic 和 System 的 using 语句
- 添加 GFramework.Game.Abstractions.enums 的 using 语句
- 添加静态只读字典 LayerZOrderMap 来管理 UI 层级 Z 轴顺序
- 修改 AddUiPage 方法参数,使用 UiLayer 枚举替代 zOrder 参数
- 使用 TryAdd 方法替换 ContainsKey 判断逻辑
- 使用 Remove 方法的重载版本来简化页面移除逻辑
- 删除 RefreshLayerOrder 方法
- 添加 GetBaseZOrder 辅助方法来获取基础 Z 轴顺序
- 更新 UiLayer 枚举定义,移除显式的数值赋值
- 更新 IUiRoot 接口中的 AddUiPage 方法签名
- 删除 IUiRoot 接口中 RefreshLayerOrder 方法
- 更新 UiRouterBase 中调用 AddUiPage 方法的方式,传递 UiLayer 参数
2026-01-20 12:51:48 +08:00

43 lines
1.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Collections.Generic;
using GFramework.Game.Abstractions.enums;
namespace GFramework.Game.Abstractions.ui;
/// <summary>
/// UI根节点接口定义了UI页面容器的基本操作
/// </summary>
public interface IUiRoot
{
/// <summary>
/// 向UI根节点添加子页面
/// </summary>
/// <param name="child">要添加的UI页面子节点</param>
void AddUiPage(IUiPageBehavior child);
/// <summary>
/// 向UI根节点添加子页面到指定层级
/// </summary>
/// <param name="child">要添加的UI页面子节点</param>
/// <param name="layer">层级</param>
/// <param name="orderInLayer">层级内排序</param>
void AddUiPage(IUiPageBehavior child, UiLayer layer, int orderInLayer = 0);
/// <summary>
/// 从UI根节点移除子页面
/// </summary>
/// <param name="child">要移除的UI页面子节点</param>
void RemoveUiPage(IUiPageBehavior child);
/// <summary>
/// 设置页面的Z-order层级顺序
/// </summary>
/// <param name="page">UI页面</param>
/// <param name="zOrder">Z-order值</param>
void SetZOrder(IUiPageBehavior page, int zOrder);
/// <summary>
/// 获取当前所有显示的页面
/// </summary>
/// <returns>所有显示的页面列表</returns>
IReadOnlyList<IUiPageBehavior> GetVisiblePages();
}