GeWuYou 53c2ee4ef3 feat(router): 添加场景和UI路由的Around中间件支持
- 在SceneRouterBase和UiRouterBase中集成管道执行Around处理器
- 实现场景过渡管道SceneTransitionPipeline的Around处理器注册和执行功能
- 实现UI过渡管道UiTransitionPipeline的Around处理器注册和执行功能
- 添加ISceneAroundTransitionHandler和IUiAroundTransitionHandler接口定义
- 扩展SceneTransitionPhases和UITransitionPhases枚举支持Around阶段
- 实现Around处理器的优先级排序和中间件链构建机制
- 添加Around处理器的超时控制和异常处理机制
2026-02-15 16:59:09 +08:00

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

namespace GFramework.Game.Abstractions.enums;
/// <summary>
/// UI切换阶段枚举定义UI切换过程中的不同阶段
/// </summary>
[Flags]
public enum UiTransitionPhases
{
/// <summary>
/// UI切换前阶段在此阶段执行的Handler可以阻塞UI切换流程
/// 适用于:淡入淡出动画、用户确认对话框、数据预加载等需要等待完成的操作
/// </summary>
BeforeChange = 1,
/// <summary>
/// UI切换后阶段在此阶段执行的Handler不阻塞UI切换流程
/// 适用于:播放音效、日志记录、统计数据收集等后台操作
/// </summary>
AfterChange = 2,
/// <summary>
/// 中间件阶段,支持包裹整个变更过程的逻辑(阻塞执行)
/// 适用于:性能监控、事务管理、权限验证、日志记录开始/结束等需要控制流程的操作
/// Around 处理器在变更前后都会执行,可以决定是否继续执行后续逻辑
/// </summary>
Around = 4,
/// <summary>
/// 所有阶段Handler将在BeforeChange、AfterChange和Around阶段都执行
/// </summary>
All = BeforeChange | AfterChange | Around
}