加载AB包依赖,需要读取主包信息
除了我们设置的ab包之外,会自动根据文件夹名字生成一个包
自动生成的包有什么用呢,我们先简单说一下里面有什么东西吧
AssetsBundle也是一个二进制文件,AssetsBundle对应的mianfest文件,可以用记事本打开,这个mianfest文件里面记录了当前目录生成了哪些AssetBundle文件,和这些AssetBundle文件的依赖关系
Dependencies信息就是依赖信息,uiPage依赖uiPlist,所以加载uiPage的时候需要把uiPlist也加载出来,不然就会缺失一些文件.
//主包路径
string mainPath = Application.persistentDataPath + "/AssetBundle/" + "AssetBundle"
//加载主包
AssetBundle mainAB = AssetBundle.LoadFromFile(mainPath );
//加载主包的mainfest文件
AssetBundleManifest assetBundleManifest = mainAB.LoadAsset<AssetBundleManifest>("AssetBundleManifest");
//ab文件名字
string abName = "uipage.assetbundle"
//通过ab文件名字,获得它需要的依赖文件
string[] dependencies = assetBundleManifest.GetAllDependencies(abName);
foreach (string dependency in dependencies)
{
//加载ab依赖文件
AssetBundle.LoadFromFile(Application.persistentDataPath + "/AssetBundle/" + dependency);
}