状态
完结撒花🎉
内嵌资源解压
资源热更的流程
通过上图,我们可以看到资源热更的流程,其中,资源的下载,我们在 ZMAssetsFrame学习笔记(2) 中就已经弄懂了,因而本章要处理的就是内嵌资源的解压
什么是内嵌资源?
内嵌资源,我们可以理解为游戏的原始资源包体,游戏的启动,需要一些原始的界面或者资源(例如游戏启动界面,热更新界面等),我们的做法就是把AB包放到StreamingAssets文件夹下,在游戏启动的时候,再把StreamingAssets文件夹下的模块解压到我们本地的persistentData文件夹下。
打包内嵌资源
打包内嵌资源的过程,就是我们通过 ZMAssetsFrame学习笔记(1) 中打包出的AB包,将其用Copy的方式,Copy到StreamingAssets文件夹下,并且将这个过程生成的关于该模块的配置信息转换成json文件,存放到Resource文件夹下,在游戏一开始启动的时候,就会去加载这个模块配置文件,对StreamingAssets文件夹下的AB包文件进行解压
计算内嵌资源大小
第一步我们通过Resources.Load加载出上一步打包内嵌资源时产生的模块配置文件,从而获取其路径
在第二步中,我们检查是否存在或者md5不同来确定是否要加入到解压的列表,并且计算大小(单位为MB)
这样做是因为我们可能会对内嵌的资源进行更新,因而需要做第二步这个判断。
进行解压
我们在本地仍旧是通过UnityWebRequest的Get方法去获取StreamingAssets文件夹下的AB包文件,而后写入到persistentData文件夹下,在所有文件都被解压完后,触发回调,至此解压完成。