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标识符
/// true表示允许离开,false表示拦截
ValueTask CanLeaveAsync(string uiKey);
}