mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-23 11:14:30 +08:00
- 在IUiRoot接口中添加Z-order控制和页面层级管理功能 - 实现Godot平台的UiRoot,支持UI页面的添加、移除和层级排序 - 添加UiLayer枚举定义不同UI层级(Page、Overlay、Modal、Toast、Topmost) - 在IUiRouter中扩展层级管理方法,支持指定层级显示UI - 实现UiRouterBase中的层级管理逻辑,包括显示、隐藏、清空等操作 - 添加对GodotSharp包的引用以支持Godot平台功能
46 lines
1.4 KiB
C#
46 lines
1.4 KiB
C#
using System.Collections.Generic;
|
||
|
||
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="zOrder">Z-order值,用于控制UI显示层级</param>
|
||
void AddUiPage(IUiPageBehavior child, int zOrder = 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();
|
||
|
||
/// <summary>
|
||
/// 强制刷新UI层级排序
|
||
/// </summary>
|
||
void RefreshLayerOrder();
|
||
} |