GeWuYou 0a924725a5 feat(ui): 更新UiRouterBase以支持基于键值的页面导航
- 添加PeekKey方法获取页面栈顶元素的键值
- 修改Peek方法返回IUiPageBehavior对象而不是类型名称
- 更新IsTop和Contains方法使用键值比较替代类型名比较
- 在UiTransitionEvent中使用PeekKey获取来源UI键值
- 为CanvasItemUiPageBehavior添加key参数和Key属性实现
- 在IUiPageBehavior接口中定义Key属性
- 更新IUiRouter接口定义新的PeekKey和Peek方法
- 添加必要的using引用和异步任务配置
2026-01-19 22:23:36 +08:00

56 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.

namespace GFramework.Game.Abstractions.ui;
/// <summary>
/// UI页面行为接口定义了UI页面的生命周期方法和状态管理
/// </summary>
public interface IUiPageBehavior
{
/// <summary>
/// 获取页面视图对象
/// </summary>
/// <returns>页面视图实例</returns>
object View { get; }
/// <summary>
/// 获取键值
/// </summary>
/// <value>返回当前对象的键标识符</value>
string Key { get; }
/// <summary>
/// 获取页面是否处于活动状态
/// </summary>
bool IsAlive { get; }
/// <summary>
/// 页面进入时调用的方法
/// </summary>
/// <param name="param">页面进入时传递的参数,可为空</param>
void OnEnter(IUiPageEnterParam? param);
/// <summary>
/// 页面退出时调用的方法
/// </summary>
void OnExit();
/// <summary>
/// 页面暂停时调用的方法
/// </summary>
void OnPause();
/// <summary>
/// 页面恢复时调用的方法
/// </summary>
void OnResume();
/// <summary>
/// 页面被覆盖时调用(不销毁)
/// </summary>
void OnHide();
/// <summary>
/// 页面重新显示时调用的方法
/// </summary>
void OnShow();
}