上一章节,我们讲了HyBirdCLR+Addressables的下载跟基本配置,今天我们来讲讲热更新的基本流程跟实现的代码。
补充HybirdCLR的设置
1.Play Mode Scripts 选择Use Existing Build(Windows)
2.打开Hosting服务
热更新的基本步骤、代码:
1.补充元数据;
有一部分我们未使用的代码会被裁剪,需要我们补充回来,err输出OK,代表元数据补充成功
2.检查更新资源
最重要的两个函数addresable跟我们提供了。Addressables.CheckForCatalogUpdates(检查目录更新);Addressables.UpdateCatalogs(更新目录)。
注意:我代码里先将目录保存到了本地,如果服务器没有更新,我会检查一下本地的数据有无,如果两个都没有,才是真正的不用更新。(这种情况可以避免,资源文件太大,下载中途退出程序,导致热更失败的重大bug)
3.下载资源
Addressables.MergeMode.Union代表下载每一个资源
3.加载程序集
我这里通过标签,筛选出资源里面的程序集,然后将所有的程序集加载出来。
3.加载资源
我这里下载的是一个cube,名字对应一一对应
4.加载场景
特别注意:应先加载程序集,再加载资源;加载场景跟加载资源不同,加载场景完成后,会自动跳转到加载的场景,资源如GameObject,需要实例化生成