A:
-
Open Edit/Project Settings/Package Manager
-
Add a new Scoped Registry (or edit the existing OpenUPM entry)
-
Name: FuXi
URL: https://package.openupm.cn
Scope(s): com.tendo.fuxi
-
Click Save (or Apply)
-
Open Window/Package Manager
-
Change Packages to My Registries
-
Install FuXi
B: 或者 拷贝以下内容 到 Packages/manifest.json
{
"scopedRegistries": [
{
"name": "package.openupm.cn",
"url": "https://package.openupm.cn",
"scopes": [
"com.tendo.fuxi"
]
}
],
"dependencies": {
"com.tendo.fuxi": "1.2.9"
}
}
- Project 视图 下 Create/FuXi Asset/FuXi Asset
- FuXiAsset 为 主配置, 包含版本文件列表, 包含 需要 动态加载的 所有 需要热更新的 资源. 被依赖资源 可选择添加, 未添加资源 会被自动打包.
- Builtin 为分包配置文件, 可 新增多个, 并 按照分包 接口 单独下载; 分包资产 包含的是 分包 文件 或者文件夹.
- Settings 文件 是 相关设置, [资源根路径: 热更文件夹根路径, 打包时会被 自动剔除出 Bundle 包名, 减少包名长度], [配置所属平台: 当前配置文件 所属的 平台, 游戏运行时会根据当前设置选取对应平台配置 初始化 可加载文件列表], [加密类型: 设置加密文件类型, 默认 不加密, 可选 字节偏移加密 或者 全字节异或加密, 或者自定义加密类型]; 勾选 拷贝 全部 Bundle 到安装包 后 打包时 会自动 拷贝所有Bundle 到StreamingAssets 文件夹下; 忽略文件列表 包含 不打包的文件名后缀; [首包包含分包: 可添加 分包配置, 构建安装包时, 会拷贝 已添加分包文件 关联 Bundle 包到安装包内].
FuXiAsset 主配置
- (必须) 游戏入口处 调用 启动资源管理器接口, 包含三个参数, 1: 版本管理配置文件名称(上一步新增配置文件名称: 如: FuXiAsset); 2: 资源服务器下载地址; 3: 游戏运行模式, 当前共 三种模式, 分别为 Editor 编辑器下、Offline 离线模式、RunTime 热更新 下载模式
await FxManager.FxLauncherAsync("FuXiAssetWindow", "http://192.168.1.2/Windows/", RuntimeMode);
- 检查 版本更新
await FxManager.FxCheckUpdate(f =>
{
form.UpdateHandle(0, $"检查更新:{f}");
});
- 获取更新 列表, 返回 DownloadInfo 包含 文件下载大小 和 文件下载列表
var download = await FxManager.FxCheckDownloadSize(true);
- 下载 资源
if (download.DownloadSize > 0)
{
GameDebugger.Log($"检测到版本变更, 大小:{download.FormatSize}");
await FxManager.FxCheckDownload(download, a =>
{
form.UpdateHandle(a,$"正在下载: {a}");
});
GameDebugger.Log("下载完成!");
}
- FxAsset 加载 资源, 相关接口 自行查看
FxAsset fxAsset = await FxAsset.LoadAsync<GameObject>(path);
- FxScene 加载 场景
await FxScene.LoadSceneAsync(scenePath, additive);
- FxRawAsset 加载 原生文件
1.加密方式为 XOR 时,不支持内置Bundle文件到安装包内, 主要是XOR加密方式需以文件流形式读取解密, StreamingAssets文件夹 不支持相关操作! 如需 XOR 加密, Bundle 文件需先下载 后使用.
2.异步加载资源才支持边玩边下载, XOR 加密 情况下 需要 异步加载, 从服务器 下载到 读写区 进行解密加载(因此首包不应包含额外资产, 否则使用 OFFSET 加密资源).