通过上文中对AB包加载API的了解和简单使用,对AB包资源加载的几种方法进行封装,将其写入单例类中,如代码展示。
确保每个AB资源包只加载一次:
在LoadAssetBundleManager 单例工具类中,首先提供基本的AB包及其AB包依赖包的加载方法,为保持AssetBundle只加载一次,使用DIctionary键值对来记录已经加载出的AB资源。
主包路径的灵活获取:
加载主包路径的获取,采用宏来对不同的打包平台来选择对应的主包名称。(可自行定义使用)
依赖包的加载:
通过加载主包中的AssetBundleManifest 来获取目标AB包的依赖AB包名称,根据名称进行逐个加载。
加载方法有异步和同步两种:
异步加载是在AB包获取之后进行的资源的异步加载,和同步加载一样有对加载函数进行3此重载。分别为根据名称加载,
泛型加载(C#中使用方便),根据类型加载(供Lua调用)。
卸载方法的实现:单个AB资源包卸载和所有资源包卸载两种方式。
该Manager继承的单例脚本:
在测试脚本中我们使用6种不同的加载方式进行cube的加载,完成方法测试。