public void AddOrUpdateAssetBundleInfo(AssetBundleInfo info) { var abInfo = GetAssetBundleInfo(info.PackFullName); if (abInfo != null) { abInfo.MD5 = info.MD5; abInfo.GroupTag = info.GroupTag; abInfo.Optional = info.Optional; return; } AssetBundleInfos.Add(info); }
private static void GenerateVersionConfig(string outputPath) { var abManifestFile = Path.Combine(outputPath, GetPlatformName()); var ab = AssetBundle.LoadFromFile(abManifestFile); var abMainfest = (AssetBundleManifest)ab.LoadAsset("AssetBundleManifest"); var allABNames = abMainfest.GetAllAssetBundles(); AssetBundleInfos.Clear(); foreach (var abName in allABNames) { var assetBundle = AssetBundle.LoadFromFile(Path.Combine(outputPath, abName)); var abInfo = new AssetBundleInfo(abName) { assets = assetBundle.GetAllAssetNames() }; AssetBundleInfos.Add(abInfo); assetBundle.Unload(true); } ab.Unload(true); AssetDatabase.Refresh(); if (ResKitEditorWindow.isEnableGenerateClass) { "Assets/QFrameworkData".CreateDirIfNotExists(); var path = Path.GetFullPath(Application.dataPath + Path.DirectorySeparatorChar + "QFrameworkData/QAssets.cs"); var writer = new StreamWriter(File.Open(path, FileMode.Create)); QBundleInfoGenerator.WriteClass(writer, "QAssetBundle", AssetBundleInfos); writer.Close(); AssetDatabase.Refresh(); } }