perf(scene): 优化路由守卫异步方法性能

- 将 ISceneRouteGuard 中的 Task 返回类型改为 ValueTask
- 将 IUiRouteGuard 中的 Task 返回类型改为 ValueTask
- 移除注释中的多余缩进空格
- 提升异步操作的性能表现
This commit is contained in:
GeWuYou 2026-03-17 16:10:24 +08:00
parent 4afa856fdc
commit 65b949b62f
4 changed files with 12 additions and 12 deletions

View File

@ -16,7 +16,7 @@ using GFramework.Game.Abstractions.Routing;
namespace GFramework.Game.Abstractions.Scene;
/// <summary>
/// 场景进入参数接口
/// 该接口用于定义场景跳转时传递的参数数据结构
/// 场景进入参数接口
/// 该接口用于定义场景跳转时传递的参数数据结构
/// </summary>
public interface ISceneEnterParam : IRouteContext;

View File

@ -27,12 +27,12 @@ public interface ISceneRouteGuard : IRouteGuard<ISceneBehavior>
/// <param name="sceneKey">目标场景的唯一标识符。</param>
/// <param name="param">场景进入参数,可能包含初始化数据或上下文信息。</param>
/// <returns>如果允许进入则返回 true否则返回 false。</returns>
Task<bool> CanEnterAsync(string sceneKey, ISceneEnterParam? param);
ValueTask<bool> CanEnterAsync(string sceneKey, ISceneEnterParam? param);
/// <summary>
/// 异步检查是否允许离开指定场景。
/// </summary>
/// <param name="sceneKey">当前场景的唯一标识符。</param>
/// <returns>如果允许离开则返回 true否则返回 false。</returns>
new Task<bool> CanLeaveAsync(string sceneKey);
ValueTask<bool> CanLeaveAsync(string sceneKey);
}

View File

@ -3,7 +3,7 @@
namespace GFramework.Game.Abstractions.UI;
/// <summary>
/// UI页面进入参数接口
/// 该接口用于定义UI页面跳转时传递的参数数据结构
/// UI页面进入参数接口
/// 该接口用于定义UI页面跳转时传递的参数数据结构
/// </summary>
public interface IUiPageEnterParam : IRouteContext;

View File

@ -3,23 +3,23 @@ using GFramework.Game.Abstractions.Routing;
namespace GFramework.Game.Abstractions.UI;
/// <summary>
/// UI路由守卫接口
/// 用于拦截和处理UI路由切换实现业务逻辑解耦
/// UI路由守卫接口
/// 用于拦截和处理UI路由切换实现业务逻辑解耦
/// </summary>
public interface IUiRouteGuard : IRouteGuard<IUiPageBehavior>
{
/// <summary>
/// 进入UI前的检查
/// 进入UI前的检查
/// </summary>
/// <param name="uiKey">目标UI标识符</param>
/// <param name="param">进入参数</param>
/// <returns>true表示允许进入false表示拦截</returns>
Task<bool> CanEnterAsync(string uiKey, IUiPageEnterParam? param);
ValueTask<bool> CanEnterAsync(string uiKey, IUiPageEnterParam? param);
/// <summary>
/// 离开UI前的检查
/// 离开UI前的检查
/// </summary>
/// <param name="uiKey">当前UI标识符</param>
/// <returns>true表示允许离开false表示拦截</returns>
new Task<bool> CanLeaveAsync(string uiKey);
ValueTask<bool> CanLeaveAsync(string uiKey);
}