Files
CC-Framework.BriskGameServer/Assets/BriskSdk/Runtime/Core/BriskOptions.cs

78 lines
2.1 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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 bool AutoReloginOnInitialize = 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))
{
throw new ArgumentException("BriskOptions.BaseUrl is required.", nameof(BaseUrl));
}
if (string.IsNullOrWhiteSpace(GameKey))
{
throw new ArgumentException("BriskOptions.GameKey is required.", nameof(GameKey));
}
BaseUrl = NormalizeBaseUrl(BaseUrl);
}
private static string NormalizeBaseUrl(string baseUrl)
{
var normalized = baseUrl.Trim().TrimEnd('/');
if (normalized.EndsWith("/api", StringComparison.OrdinalIgnoreCase))
{
return normalized;
}
return normalized + "/api";
}
}