mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 02:24:30 +08:00
- 将SceneRouterBase和UiRouterBase继承自新的RouterBase基类 - 移除原有的守卫管理相关代码,统一使用基类实现 - 更新路由栈操作使用基类提供的Stack属性 - 重写Current、Contains等方法以使用基类实现 - 在CI工作流中启用并发测试执行以提升性能 - 添加等待步骤确保并发测试完成 - 更新项目文件排除测试项目的编译 - 在解决方案文件中添加GFramework.Game.Tests项目引用 - 新增RouterBase基类提供通用路由管理功能
25 lines
839 B
C#
25 lines
839 B
C#
using GFramework.Game.Abstractions.Routing;
|
||
|
||
namespace GFramework.Game.Abstractions.UI;
|
||
|
||
/// <summary>
|
||
/// UI路由守卫接口
|
||
/// 用于拦截和处理UI路由切换,实现业务逻辑解耦
|
||
/// </summary>
|
||
public interface IUiRouteGuard : IRouteGuard<IUiPageBehavior>
|
||
{
|
||
/// <summary>
|
||
/// 进入UI前的检查
|
||
/// </summary>
|
||
/// <param name="uiKey">目标UI标识符</param>
|
||
/// <param name="param">进入参数</param>
|
||
/// <returns>true表示允许进入,false表示拦截</returns>
|
||
Task<bool> CanEnterAsync(string uiKey, IUiPageEnterParam? param);
|
||
|
||
/// <summary>
|
||
/// 离开UI前的检查
|
||
/// </summary>
|
||
/// <param name="uiKey">当前UI标识符</param>
|
||
/// <returns>true表示允许离开,false表示拦截</returns>
|
||
new Task<bool> CanLeaveAsync(string uiKey);
|
||
} |