namespace GFramework.Game.Abstractions.ui; /// /// UI路由守卫接口 /// 用于拦截和处理UI路由切换,实现业务逻辑解耦 /// public interface IUiRouteGuard { /// /// 守卫优先级,数值越小越先执行 /// int Priority { get; } /// /// 是否可中断后续守卫 /// 如果返回 true,当该守卫返回 false 时,将停止执行后续守卫 /// bool CanInterrupt { get; } /// /// 进入UI前的检查 /// /// 目标UI标识符 /// 进入参数 /// true表示允许进入,false表示拦截 Task CanEnterAsync(string uiKey, IUiPageEnterParam? param); /// /// 离开UI前的检查 /// /// 当前UI标识符 /// true表示允许离开,false表示拦截 Task CanLeaveAsync(string uiKey); }