/// <summary> /// 生成依赖关系的文件 /// </summary> static void MakeIAssetBundleManifest() { //var path = m_Assets + "/Manifest.xml"; //if (File.Exists(path)) { // File.Delete(path); //} mIManifest = new IAssetBundleManifest(); var dic = new Dictionary <string, string[]>(); foreach (var abName in tempBuilds.Keys) { var build = tempBuilds[abName]; var dpList = new List <string>(); foreach (var path in build.assetNames) { var depends = AssetDatabase.GetDependencies(path); foreach (var dpPath in depends) { if (dpPath.Contains(".cs") || dpPath.Contains(".mdb") || dpPath.Contains(".dll")) { continue; } if (path.Equals(dpPath)) { continue; } if (mPath2ABName.ContainsKey(dpPath)) { dpList.Add(mPath2ABName[dpPath]); } else { // Debug.LogError("错误!!! 该依赖资源没有加入打包 " + dpPath); } } } dic[abName] = dpList.ToArray(); } mIManifest.SetAsstDpNames(dic); mIManifest.Serializate(m_RootDirectory, "Manifest"); // mIManifest.Serializate(Application.dataPath + "/AssetData", "Manifest"); // SetAsset("Manifest", path); }