You've already forked CC-Framework.BriskGameServer
Localize sample UI and document release conventions
This commit is contained in:
@@ -2,6 +2,10 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
/// <summary>
|
||||
/// Brisk SDK 的静态总入口。
|
||||
/// 初始化完成后,开发者可以通过 <c>Brisk.Auth</c>、<c>Brisk.Leaderboard</c> 等模块直接访问能力。
|
||||
/// </summary>
|
||||
public static class Brisk
|
||||
{
|
||||
private static BriskContext s_context;
|
||||
@@ -17,40 +21,101 @@ public static class Brisk
|
||||
Space = new BriskSpaceModule();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// SDK 初始化完成后触发。
|
||||
/// </summary>
|
||||
public static event Action OnInitialized;
|
||||
/// <summary>
|
||||
/// 登录成功并保存会话后触发。
|
||||
/// </summary>
|
||||
public static event Action OnLoggedIn;
|
||||
/// <summary>
|
||||
/// 主动登出并清理本地会话后触发。
|
||||
/// </summary>
|
||||
public static event Action OnLoggedOut;
|
||||
/// <summary>
|
||||
/// 发生维护、封禁、强更等严重阻断错误时触发。
|
||||
/// </summary>
|
||||
public static event Action<BriskBlockingException> OnBlockingError;
|
||||
/// <summary>
|
||||
/// 登录态失效并清空本地会话时触发。
|
||||
/// </summary>
|
||||
public static event Action<BriskAuthExpiredException> OnAuthExpired;
|
||||
|
||||
/// <summary>
|
||||
/// 认证模块入口。
|
||||
/// </summary>
|
||||
public static BriskAuthModule Auth { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 玩家模块入口。
|
||||
/// </summary>
|
||||
public static BriskPlayerModule Player { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 动态配置模块入口。
|
||||
/// </summary>
|
||||
public static BriskConfigModule Config { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 公告模块入口。
|
||||
/// </summary>
|
||||
public static BriskAnnouncementsModule Announcements { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 排行榜模块入口。
|
||||
/// </summary>
|
||||
public static BriskLeaderboardModule Leaderboard { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 云存档模块入口。
|
||||
/// </summary>
|
||||
public static BriskArchiveModule Archive { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 玩家空间模块入口。
|
||||
/// </summary>
|
||||
public static BriskSpaceModule Space { get; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前 SDK 是否已完成初始化。
|
||||
/// </summary>
|
||||
public static bool IsInitialized => s_context != null;
|
||||
|
||||
/// <summary>
|
||||
/// 当前是否存在可用登录态。
|
||||
/// </summary>
|
||||
public static bool IsLoggedIn => s_context != null && s_context.Session.HasAccessToken;
|
||||
|
||||
/// <summary>
|
||||
/// 当前访问令牌。
|
||||
/// </summary>
|
||||
public static string AccessToken => s_context != null ? s_context.Session.AccessToken : null;
|
||||
|
||||
/// <summary>
|
||||
/// 当前玩家 ID。
|
||||
/// </summary>
|
||||
public static string PlayerId => s_context != null ? s_context.Session.PlayerId : null;
|
||||
|
||||
/// <summary>
|
||||
/// 当前登录身份摘要。
|
||||
/// </summary>
|
||||
public static BriskIdentity Identity => s_context != null ? s_context.Session.Identity : null;
|
||||
|
||||
/// <summary>
|
||||
/// 当前初始化选项。
|
||||
/// </summary>
|
||||
public static BriskOptions Options => s_context != null ? s_context.Options : null;
|
||||
|
||||
/// <summary>
|
||||
/// 初始化阶段获取到的 bootstrap 结果。
|
||||
/// </summary>
|
||||
public static BriskBootstrapResult Bootstrap => s_context != null ? s_context.Bootstrap : null;
|
||||
|
||||
/// <summary>
|
||||
/// 初始化 SDK,并执行 bootstrap 与本地会话恢复。
|
||||
/// </summary>
|
||||
/// <param name="options">初始化选项。</param>
|
||||
public static async Task InitializeAsync(BriskOptions options)
|
||||
{
|
||||
if (options == null)
|
||||
@@ -79,16 +144,27 @@ public static class Brisk
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 关闭 SDK 并清空当前上下文。
|
||||
/// </summary>
|
||||
public static void Shutdown()
|
||||
{
|
||||
s_context = null;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置严重错误的展示器。
|
||||
/// </summary>
|
||||
/// <param name="presenter">自定义错误展示器;传入 null 时恢复默认展示器。</param>
|
||||
public static void SetErrorPresenter(IBriskErrorPresenter presenter)
|
||||
{
|
||||
GetRequiredContext().ErrorPresenter = presenter ?? BriskDefaultErrorPresenter.Instance;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 设置阻断错误确认后的退出回调。
|
||||
/// </summary>
|
||||
/// <param name="exitHandler">项目方自定义退出逻辑。</param>
|
||||
public static void SetExitHandler(Action exitHandler)
|
||||
{
|
||||
GetRequiredContext().ExitHandler = exitHandler;
|
||||
|
||||
@@ -1,17 +1,50 @@
|
||||
using System;
|
||||
|
||||
/// <summary>
|
||||
/// Brisk SDK 初始化参数。
|
||||
/// </summary>
|
||||
public sealed class BriskOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// 服务端基础地址。可以传主机地址,SDK 会自动补上 <c>/api</c>。
|
||||
/// </summary>
|
||||
public string BaseUrl;
|
||||
/// <summary>
|
||||
/// 项目标识。
|
||||
/// </summary>
|
||||
public string GameKey;
|
||||
/// <summary>
|
||||
/// 客户端版本号。
|
||||
/// </summary>
|
||||
public string ClientVersion;
|
||||
/// <summary>
|
||||
/// 设备标识。
|
||||
/// </summary>
|
||||
public string DeviceId;
|
||||
/// <summary>
|
||||
/// 是否启用调试日志。
|
||||
/// </summary>
|
||||
public bool EnableLog;
|
||||
/// <summary>
|
||||
/// 初始化时是否主动校验本地会话有效性。
|
||||
/// </summary>
|
||||
public bool ValidateSessionOnInitialize = true;
|
||||
/// <summary>
|
||||
/// 自定义登录态持久化实现。
|
||||
/// </summary>
|
||||
public IBriskTokenStore TokenStore;
|
||||
/// <summary>
|
||||
/// 自定义严重错误展示器。
|
||||
/// </summary>
|
||||
public IBriskErrorPresenter ErrorPresenter;
|
||||
/// <summary>
|
||||
/// 阻断错误确认后的退出处理逻辑。
|
||||
/// </summary>
|
||||
public Action ExitHandler;
|
||||
|
||||
/// <summary>
|
||||
/// 校验并规范化初始化参数。
|
||||
/// </summary>
|
||||
public void Validate()
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(BaseUrl))
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
/// <summary>
|
||||
/// 自定义严重错误展示接口。
|
||||
/// </summary>
|
||||
public interface IBriskErrorPresenter
|
||||
{
|
||||
/// <summary>
|
||||
/// 展示维护、封禁、强更等阻断错误。
|
||||
/// </summary>
|
||||
void ShowBlockingError(BriskBlockingException exception);
|
||||
|
||||
/// <summary>
|
||||
/// 展示登录态失效提示。
|
||||
/// </summary>
|
||||
void ShowAuthExpired(BriskAuthExpiredException exception);
|
||||
}
|
||||
|
||||
@@ -1,10 +1,22 @@
|
||||
using System.Threading.Tasks;
|
||||
|
||||
/// <summary>
|
||||
/// 自定义登录态持久化接口。
|
||||
/// </summary>
|
||||
public interface IBriskTokenStore
|
||||
{
|
||||
/// <summary>
|
||||
/// 保存当前登录会话。
|
||||
/// </summary>
|
||||
Task SaveAsync(BriskStoredSession session);
|
||||
|
||||
/// <summary>
|
||||
/// 读取本地保存的登录会话。
|
||||
/// </summary>
|
||||
Task<BriskStoredSession> LoadAsync();
|
||||
|
||||
/// <summary>
|
||||
/// 清空本地保存的登录会话。
|
||||
/// </summary>
|
||||
Task ClearAsync();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user