Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
            }
        }