mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
perf(scene): 优化路由守卫异步方法性能
- 将 ISceneRouteGuard 中的 Task 返回类型改为 ValueTask - 将 IUiRouteGuard 中的 Task 返回类型改为 ValueTask - 移除注释中的多余缩进空格 - 提升异步操作的性能表现
This commit is contained in:
parent
4afa856fdc
commit
65b949b62f
@ -16,7 +16,7 @@ using GFramework.Game.Abstractions.Routing;
|
|||||||
namespace GFramework.Game.Abstractions.Scene;
|
namespace GFramework.Game.Abstractions.Scene;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 场景进入参数接口
|
/// 场景进入参数接口
|
||||||
/// 该接口用于定义场景跳转时传递的参数数据结构
|
/// 该接口用于定义场景跳转时传递的参数数据结构
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface ISceneEnterParam : IRouteContext;
|
public interface ISceneEnterParam : IRouteContext;
|
||||||
@ -27,12 +27,12 @@ public interface ISceneRouteGuard : IRouteGuard<ISceneBehavior>
|
|||||||
/// <param name="sceneKey">目标场景的唯一标识符。</param>
|
/// <param name="sceneKey">目标场景的唯一标识符。</param>
|
||||||
/// <param name="param">场景进入参数,可能包含初始化数据或上下文信息。</param>
|
/// <param name="param">场景进入参数,可能包含初始化数据或上下文信息。</param>
|
||||||
/// <returns>如果允许进入则返回 true,否则返回 false。</returns>
|
/// <returns>如果允许进入则返回 true,否则返回 false。</returns>
|
||||||
Task<bool> CanEnterAsync(string sceneKey, ISceneEnterParam? param);
|
ValueTask<bool> CanEnterAsync(string sceneKey, ISceneEnterParam? param);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 异步检查是否允许离开指定场景。
|
/// 异步检查是否允许离开指定场景。
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sceneKey">当前场景的唯一标识符。</param>
|
/// <param name="sceneKey">当前场景的唯一标识符。</param>
|
||||||
/// <returns>如果允许离开则返回 true,否则返回 false。</returns>
|
/// <returns>如果允许离开则返回 true,否则返回 false。</returns>
|
||||||
new Task<bool> CanLeaveAsync(string sceneKey);
|
ValueTask<bool> CanLeaveAsync(string sceneKey);
|
||||||
}
|
}
|
||||||
@ -3,7 +3,7 @@
|
|||||||
namespace GFramework.Game.Abstractions.UI;
|
namespace GFramework.Game.Abstractions.UI;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// UI页面进入参数接口
|
/// UI页面进入参数接口
|
||||||
/// 该接口用于定义UI页面跳转时传递的参数数据结构
|
/// 该接口用于定义UI页面跳转时传递的参数数据结构
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IUiPageEnterParam : IRouteContext;
|
public interface IUiPageEnterParam : IRouteContext;
|
||||||
@ -3,23 +3,23 @@ using GFramework.Game.Abstractions.Routing;
|
|||||||
namespace GFramework.Game.Abstractions.UI;
|
namespace GFramework.Game.Abstractions.UI;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// UI路由守卫接口
|
/// UI路由守卫接口
|
||||||
/// 用于拦截和处理UI路由切换,实现业务逻辑解耦
|
/// 用于拦截和处理UI路由切换,实现业务逻辑解耦
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public interface IUiRouteGuard : IRouteGuard<IUiPageBehavior>
|
public interface IUiRouteGuard : IRouteGuard<IUiPageBehavior>
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 进入UI前的检查
|
/// 进入UI前的检查
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="uiKey">目标UI标识符</param>
|
/// <param name="uiKey">目标UI标识符</param>
|
||||||
/// <param name="param">进入参数</param>
|
/// <param name="param">进入参数</param>
|
||||||
/// <returns>true表示允许进入,false表示拦截</returns>
|
/// <returns>true表示允许进入,false表示拦截</returns>
|
||||||
Task<bool> CanEnterAsync(string uiKey, IUiPageEnterParam? param);
|
ValueTask<bool> CanEnterAsync(string uiKey, IUiPageEnterParam? param);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 离开UI前的检查
|
/// 离开UI前的检查
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="uiKey">当前UI标识符</param>
|
/// <param name="uiKey">当前UI标识符</param>
|
||||||
/// <returns>true表示允许离开,false表示拦截</returns>
|
/// <returns>true表示允许离开,false表示拦截</returns>
|
||||||
new Task<bool> CanLeaveAsync(string uiKey);
|
ValueTask<bool> CanLeaveAsync(string uiKey);
|
||||||
}
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user