Files
CC-Framework.BriskGameServer/Assets/BriskSdk/Runtime/Player/BriskPlayerModule.cs

41 lines
1.2 KiB
C#

using System;
using System.Threading.Tasks;
/// <summary>
/// 玩家模块。
/// </summary>
public sealed class BriskPlayerModule
: BriskModuleBase
{
/// <summary>
/// 获取当前登录玩家信息。
/// </summary>
public async Task<BriskPlayerMe> GetMeAsync()
{
return await ExecuteAsync(async context =>
{
var data = await context.HttpClient.GetDataAsync("/player/me", null, true);
var result = BriskModelMapper.ToPlayerMe(data);
context.Session.Update(
context.Session.AccessToken,
context.Session.ExpiresAt,
result.PlayerId,
result.ProjectAccountId,
result.LoginProvider,
result.LoginUserId);
await context.TokenStore.SaveAsync(new BriskStoredSession
{
AccessToken = context.Session.AccessToken,
ExpiresAt = context.Session.ExpiresAt,
PlayerId = result.PlayerId,
ProjectAccountId = result.ProjectAccountId,
LoginProvider = result.LoginProvider,
LoginUserId = result.LoginUserId
});
return result;
});
}
}