/// <summary> /// 加载ResourcesManifest文件 /// </summary> public static ResourcesManifest LoadResourceManifestByPath(string path) { var result = new ResourcesManifest(); result.Load(path); return(result); }
void ExportResourcesManifestFile(AssetBundleManifest manifest) { if (manifest == null) { return; } var info = new ResourcesManifest(); //读取所有AB //读取主manifest信息 var rootDir = PathResolver.BUILD_PATH; var manifestName = PathResolver.MAIN_MANIFEST_FILE_NAME; var desc = new ResourcesManifestData.AssetBundleData(); desc.assetBundleName = PathResolver.MAIN_MANIFEST_FILE_NAME; desc.size = FileHelper.GetFileSize(rootDir + manifestName); info.data.assetbundles.Add(manifestName, desc); //读取其他AB信息 foreach (var name in manifest.GetAllAssetBundles()) { desc = new ResourcesManifestData.AssetBundleData(); desc.assetBundleName = name; desc.size = FileHelper.GetFileSize(rootDir + name); desc.isNative = true; var ab = AssetBundle.LoadFromFile(rootDir + name); foreach (var asset in ab.GetAllAssetNames()) { desc.assets.Add(asset); } ab.Unload(false); info.data.assetbundles.Add(name, desc); } //读取旧的ResourcesManifest信息,同步一下其他信息 var oldManiFest = new ResourcesManifest(); oldManiFest.Load(PathResolver.EDITOR_RESOURCE_MANIFEST_FILE_PATH); if (oldManiFest.data != null && oldManiFest.data.assetbundles.Count > 0) { foreach (var assetBundle in oldManiFest.data.assetbundles.Values) { if (string.IsNullOrEmpty(assetBundle.assetBundleName)) { continue; } if (info.data.assetbundles.ContainsKey(assetBundle.assetBundleName)) { info.data.assetbundles[assetBundle.assetBundleName].isNative = assetBundle.isNative; } } } var buildConfig = AssetDatabase.LoadAssetAtPath <AssetBundleBuildConfig>(AssetBundleBuildPanel.savePath); info.data.version = buildConfig.version; //保存ResourcesInfo info.Save(PathResolver.EDITOR_RESOURCE_MANIFEST_FILE_PATH); }