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