GFramework/GFramework.Game.Abstractions/ui/IUiTransitionHandler.cs
GeWuYou 65d56d0696 refactor(scene): 重构场景路由系统并迁移资源注册接口
- 将场景路由基类从同步改为异步实现,支持场景栈管理
- 添加场景行为接口定义及相关的进入参数接口
- 实现场景的压入、弹出、替换和清空等栈操作功能
- 迁移UI资源注册接口到资产模块下
- 移除缓存淘汰策略枚举并更新UI切换阶段命名空间引用
- 优化日志记录器创建方式和统一命名空间规范
2026-02-15 16:59:09 +08:00

37 lines
1.2 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.

using GFramework.Game.Abstractions.enums;
namespace GFramework.Game.Abstractions.ui;
/// <summary>
/// UI切换处理器接口定义UI切换扩展点的处理逻辑
/// </summary>
public interface IUiTransitionHandler
{
/// <summary>
/// 处理器优先级,数值越小越先执行
/// </summary>
int Priority { get; }
/// <summary>
/// 处理器适用的阶段,默认为所有阶段
/// 可以使用Flags枚举指定多个阶段
/// </summary>
UiTransitionPhases Phases { get; }
/// <summary>
/// 判断是否应该处理当前事件
/// 可以根据事件类型、UI key等信息进行条件过滤
/// </summary>
/// <param name="event">UI切换事件</param>
/// <param name="phases">当前阶段</param>
/// <returns>是否处理</returns>
bool ShouldHandle(UiTransitionEvent @event, UiTransitionPhases phases);
/// <summary>
/// 处理UI切换事件
/// </summary>
/// <param name="event">UI切换事件</param>
/// <param name="cancellationToken">取消令牌</param>
/// <returns>异步任务</returns>
Task HandleAsync(UiTransitionEvent @event, CancellationToken cancellationToken);
}