GeWuYou d85ef83ac1 feat(ui): 添加UI页面行为接口和实现
- 在IUiPageBehavior接口中添加IsModal、BlocksInput和RequiresMask属性定义
- 在CanvasItemUiPageBehavior类中实现模态对话框相关属性
- 添加页面模态状态、输入阻断和遮罩层需求的属性支持
- 为UI页面提供统一的模态行为控制接口
- 实现对下层交互阻断功能的支持
- 完善UI页面行为抽象层的设计规范
2026-01-20 12:40:53 +08:00

72 lines
1.6 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();
/// <summary>
/// 获取页面是否为模态页面
/// </summary>
bool IsModal { get; }
/// <summary>
/// 获取页面是否阻断下层交互
/// </summary>
bool BlocksInput { get; }
/// <summary>
/// 获取页面是否需要蒙版
/// </summary>
bool RequiresMask { get; }
}