mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
feat(ui): 添加基于实例的UI显示方法
- 在UiRouterBase中新增Show方法,支持通过IUiPageBehavior实例显示UI - 为IUiRouter接口添加对应的Show方法重载签名 - 添加详细的XML文档注释说明参数用途 - 临时禁用publish-docs工作流以解决文档生成问题 - [release ci]
This commit is contained in:
parent
c27c02a027
commit
efd7ababd2
15
.github/workflows/publish-docs.yml
vendored
15
.github/workflows/publish-docs.yml
vendored
@ -1,5 +1,6 @@
|
|||||||
# 工作流名称:Publish Docs
|
# 工作流名称:Publish Docs
|
||||||
# 该工作流用于在推送到 main 分支时自动构建并发布文档到 GitHub Pages。
|
# 该工作流用于在推送到 main 分支时自动构建并发布文档到 GitHub Pages。
|
||||||
|
# 暂时关了,目前这个文档生成有问题,以后再改
|
||||||
|
|
||||||
name: Publish Docs
|
name: Publish Docs
|
||||||
|
|
||||||
@ -7,13 +8,13 @@ name: Publish Docs
|
|||||||
# 定义工作流的触发规则。当代码仓库发生特定事件时,将自动执行相关操作。
|
# 定义工作流的触发规则。当代码仓库发生特定事件时,将自动执行相关操作。
|
||||||
# 此处配置表示:当向仓库推送(push)带有标签(tag)的提交时触发工作流。
|
# 此处配置表示:当向仓库推送(push)带有标签(tag)的提交时触发工作流。
|
||||||
# 标签匹配规则为通配符 '*',即任意标签都会触发。
|
# 标签匹配规则为通配符 '*',即任意标签都会触发。
|
||||||
on:
|
#on:
|
||||||
push:
|
# push:
|
||||||
branches:
|
# branches:
|
||||||
- '**'
|
# - '**'
|
||||||
tags:
|
# tags:
|
||||||
- '*'
|
# - '*'
|
||||||
workflow_dispatch:
|
# workflow_dispatch:
|
||||||
|
|
||||||
# 权限配置:指定工作流所需的权限。
|
# 权限配置:指定工作流所需的权限。
|
||||||
# actions: read - 允许读取 GitHub Actions 相关信息。
|
# actions: read - 允许读取 GitHub Actions 相关信息。
|
||||||
|
|||||||
@ -143,12 +143,29 @@ public interface IUiRouter : ISystem
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// 在指定层级显示UI(Overlay / Modal / Toast等)
|
/// 在指定层级显示UI(Overlay / Modal / Toast等)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <param name="uiKey">要显示的UI页面的唯一标识符</param>
|
||||||
|
/// <param name="layer">UI显示的层级,例如 Overlay、Modal 或 Toast</param>
|
||||||
|
/// <param name="param">可选参数,用于传递给UI页面的初始化数据</param>
|
||||||
|
/// <param name="instancePolicy">UI实例策略,默认为复用已存在的实例</param>
|
||||||
void Show(
|
void Show(
|
||||||
string uiKey,
|
string uiKey,
|
||||||
UiLayer layer,
|
UiLayer layer,
|
||||||
IUiPageEnterParam? param = null,
|
IUiPageEnterParam? param = null,
|
||||||
UiInstancePolicy instancePolicy = UiInstancePolicy.Reuse);
|
UiInstancePolicy instancePolicy = UiInstancePolicy.Reuse);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 在指定层级显示UI(Overlay / Modal / Toast等)
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="page">要显示的UI页面行为对象</param>
|
||||||
|
/// <param name="layer">UI显示的层级,例如 Overlay、Modal 或 Toast</param>
|
||||||
|
/// <param name="param">传递给UI页面的初始化数据</param>
|
||||||
|
/// <param name="enter">是否立即进入UI页面,默认为 false</param>
|
||||||
|
void Show(
|
||||||
|
IUiPageBehavior page,
|
||||||
|
UiLayer layer,
|
||||||
|
IUiPageEnterParam? param,
|
||||||
|
bool enter = false);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 在指定层级显示UI(基于已存在实例)
|
/// 在指定层级显示UI(基于已存在实例)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -534,6 +534,34 @@ public abstract class UiRouterBase : AbstractSystem, IUiRouter
|
|||||||
Log.Debug("Show existing UI instance in layer: {0}, layer={1}", uiKey, layer);
|
Log.Debug("Show existing UI instance in layer: {0}, layer={1}", uiKey, layer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 在指定层级显示UI(基于实例)
|
||||||
|
/// </summary>
|
||||||
|
public void Show(
|
||||||
|
IUiPageBehavior page,
|
||||||
|
UiLayer layer,
|
||||||
|
IUiPageEnterParam? param,
|
||||||
|
bool enter = false)
|
||||||
|
{
|
||||||
|
if (layer == UiLayer.Page)
|
||||||
|
throw new ArgumentException("Use Push() for Page layer");
|
||||||
|
|
||||||
|
var uiKey = page.Key;
|
||||||
|
|
||||||
|
if (!_layers.ContainsKey(layer))
|
||||||
|
_layers[layer] = new Dictionary<string, IUiPageBehavior>();
|
||||||
|
|
||||||
|
_layers[layer][uiKey] = page;
|
||||||
|
_uiRoot.AddUiPage(page, layer);
|
||||||
|
|
||||||
|
if (enter)
|
||||||
|
page.OnEnter(param);
|
||||||
|
|
||||||
|
page.OnShow();
|
||||||
|
|
||||||
|
Log.Debug("Show existing UI instance in layer: {0}, layer={1}", uiKey, layer);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 隐藏指定层级的UI
|
/// 隐藏指定层级的UI
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user