using GFramework.Game.Abstractions.Routing;
namespace GFramework.Game.Abstractions.UI;
///
/// UI路由守卫接口
/// 用于拦截和处理UI路由切换,实现业务逻辑解耦
///
public interface IUiRouteGuard : IRouteGuard
{
///
/// 进入UI前的检查
///
/// 目标UI标识符
/// 进入参数
/// true表示允许进入,false表示拦截
ValueTask CanEnterAsync(string uiKey, IUiPageEnterParam? param);
///
/// 离开UI前的检查。
/// 该成员显式细化了通用路由守卫的离开检查,使 UI 守卫在 API 文档中保持 UI 语义。
///
/// 当前UI标识符
/// true表示允许离开,false表示拦截
new ValueTask CanLeaveAsync(string uiKey);
}