using System;
using Com.Project.B.Authorize;
using Cysharp.Threading.Tasks;
namespace Project.B.Authorize
{
///
/// 授权服务
///
public interface IAuthorizeService
{
///
/// 尝试获取授权数据
///
///
///
///
bool TryGetAuthorizeData(Guid playerId, out IAuthorizeData data);
UniTask GetAllAuthorizeDataAsync();
///
/// 授权和登录
///
///
///
UniTask AuthorizeAsync(IAuthorizeData data);
///
/// 保持心跳,超时则断开链接
///
///
///
///
UniTask HeartbeatAsync(Guid playerId,int connectionId);
///
/// 授权成功回调
///
event Action OnAuthorized;
///
/// 授权超时回调
///
event Action OnAuthorizeTimeout;
}
}