using YooAsset;
namespace AOT.Boot
{
///
/// 壳层传给热更入口的运行时上下文。
///
public sealed class BootContext
{
public string AppVersion;
public string ResVersion;
public string CdnRoot;
public string PackageName;
public ResourcePackage Package;
public string HttpBase;
public string WsUrlTemplate;
/// CDN version.json 下发的维护/公告文案(可空)。
public string Notice;
/// 业务 UI 当前仅使用 candy;字段保留用于旧启动配置兼容。
public string UiTheme = "candy";
public string BuildWsUrl(string pid, string token = null)
{
if (string.IsNullOrEmpty(WsUrlTemplate))
{
if (string.IsNullOrEmpty(token))
return $"wss://game.xworld.ren/ws?pid={pid}";
return $"wss://game.xworld.ren/ws?pid={pid}&token={UnityEngine.Networking.UnityWebRequest.EscapeURL(token)}";
}
var url = WsUrlTemplate.Replace("{pid}", pid ?? string.Empty);
if (url.Contains("{token}"))
url = url.Replace("{token}", UnityEngine.Networking.UnityWebRequest.EscapeURL(token ?? string.Empty));
else if (!string.IsNullOrEmpty(token))
url += (url.Contains("?") ? "&" : "?") + "token=" + UnityEngine.Networking.UnityWebRequest.EscapeURL(token);
return url;
}
}
}