翻看之前的文章总觉得少点什么,想更新框架相关文章又不知道该更新什么。后来终于发现,还没有写有关于AssetBundle打包及加载相关的内容,导致我想写其他内容总是觉得少点什么。之前的文章有AssetBundle打包相关的代码具体实现就不再详细说明,我只讲框架是怎么设计的。
首先,AB包管理是通过json文件管理的,Eidtor打包完ab后,会自动生成config文件,对当前ab内容进行记录,更新内容也是通过这个config文件进行比对的。文章源自大腿Plus-https://www.zhaoshijun.com/archives/2058
这个配置文件包含的内容:文章源自大腿Plus-https://www.zhaoshijun.com/archives/2058
-
GameVersion:游戏版本
-
ResVersion:资源版本
-
Platform:当前平台
-
Des:热更描述
-
Modules:ab包模块
-
ModuleName:模块名(一级目录)
-
Folders:单个ab包
-
FolderName:ab包文件夹名(二级目录)
-
BundleName:ab完整包名
-
Tag:标记
-
MD5:MD5校验
- Size:资源大小
-
Dependencies:依赖项
-
-
不管是脚本还是资源更新都是通过这样的方式进行更新的,只不过是两套相同的代码,因为一套是放到app包内用来更新脚本,一套是放到更新脚本内的用来更新资源。这么说可能有点绕,说简单点就是,第一套是放在app内用来更新脚本ab的,然后脚本ab内还有一套是用来更新资源的。为什么没有放到一起,是因为之前是用Lua热更的,HybridCLR热更是后加的,所以就分开进行了,这也是接入进来最简单的方式了。文章源自大腿Plus-https://www.zhaoshijun.com/archives/2058
上面说了怎么设计,下面就说说怎么管理和具体怎么使用。管理其实不用太关注,因为已经写好了代码,程序运行之后就会自动进行ab包的更新下载,然后通过AssetBundleManager加载,使用的时候可以通过AssetManager加载资源,也可以直接加载对应AB包,在ab包内获取资源。具体代码可以在相应脚本内查看。文章源自大腿Plus-https://www.zhaoshijun.com/archives/2058
具体AB打包,后面在说Editor工具类的时候会详细说,这里也就不在赘述了。文章源自大腿Plus-https://www.zhaoshijun.com/archives/2058
项目GitHub仓库地址:https://github.com/Josh-Jun/UnityAppFramework.git文章源自大腿Plus-https://www.zhaoshijun.com/archives/2058
项目Gitee仓库地址:https://gitee.com/shijun_z/UnityAppFramework.git文章源自大腿Plus-https://www.zhaoshijun.com/archives/2058 文章源自大腿Plus-https://www.zhaoshijun.com/archives/2058
评论