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