Skip to main content
Version: 2023.1

初始化

使用 Assets.InitializeAsync 可以对 xasset 进行初始化。

只有初始化好后,xasset 才能正常执行获取更新大小、资产加载、场景加载等流程。xasset 的示例中提供了 Startup 组件封装了常规的初始化流程。可以直接使用,也可以按自己项目的实际需要参考或调整使用。

xasset>Samples>Scripts>Startup.cs
public class Startup : MonoBehaviour
{
public SampleScene startWithScene;

public bool benchmark;

private IEnumerator Start()
{
var initializeAsync = Assets.InitializeAsync();
yield return initializeAsync;
if (benchmark)
gameObject.AddComponent<Benchmark>();
else
Scene.LoadAsync(startWithScene.ToString());
}
}

在真机模式,初始化过程中,主要完成的事项是:

  1. 读取安装包内的版本文件
  2. 读取下载目录的版本文件
  3. 覆盖安装检查和清理处理(需要专业版)
  4. 最新的版本文件的清单配置加载
  5. 自定义初始化过程处理(需要专业版)
  6. 资产预加载处理(需要专业版)
  7. 完成初始化

对于专业版,在编辑器下可以按以下流程测试覆盖安装自动删除不在当前版本的旧数据的流程:

  1. 让 Bundles 目录有3个版本的的 versions.json, 例如 versions_v1.json、versions_v2.json、versions_v3.json。
  2. 选择 versions_v2.json 构建更新信息 xasset>Build Update Info
  3. 选择 versions_v1.json 构建安装包资产 xasset>Build Player Assets
  4. 以仿真更新模式运行客户端更新到 versions_v2.json
  5. 选择 versions_v3.json 构建安装包资产 xasset>Build Player Assets
  6. 这里打断点后运行测试覆盖安装清理无用数据的流程。