public static void CreateAsset() { EditorUtility.DisplayProgressBar("创建AssetBundle", "请等待...", 0.5f); PublishEditor.MoveResToAsset(); BundleNames.Clear(); ResourceInfo mResourceInfo = new ResourceInfo(); mResourceInfo.AppVersion = AppV; mResourceInfo.CodeVersion = CodeV; mResourceInfo.ResVersion = ResV; mResourceInfo.ResList = new List <ResourceItemInfo> (); mResourceInfo.ModuleList = ModuleAssetBundle.ModuleList; SetAssetName(mResourceInfo, AssetPath, BundleNames); //FileUtil.DeleteFileOrDirectory(AssetOutPath); if (!Directory.Exists(AssetOutPath)) { Directory.CreateDirectory(AssetOutPath); } BundleNames.Add(ResInfoName); BundleNames.Add(UpdateFileName); BuildPipeline.BuildAssetBundles(AssetOutPath, BuildAssetBundleOptions.UncompressedAssetBundle, EditorUserBuildSettings.activeBuildTarget); CreateUpdateFile(AssetOutPath, mResourceInfo); SetDependencies(mResourceInfo, AssetOutPath); SaveResInfoFile(Path.Combine(AssetOutPath, ResInfoName), mResourceInfo); ZipToStreaming(); ClearAssetName(AssetPath, mResourceInfo); PublishEditor.MoveAssetToRes(); AssetDatabase.Refresh(); EditorUtility.ClearProgressBar(); //EditorUtility.DisplayDialog("提示", "打包AssetBundle完成!", "确定"); }
static void CreateAsset(string rootName, string name, int appV, int codeV, int resV) { PublishEditor.MoveResToModuleAsset(name); BundleNames.Clear(); ResourceInfo resInfo = new ResourceInfo(); resInfo.AppVersion = appV; resInfo.CodeVersion = codeV; resInfo.ResVersion = resV; resInfo.ResList = new List <ResourceItemInfo> (); ResourceItemInfo item = new ResourceItemInfo(); item.Path = name; item.Name = name; item.IsResident = false; GetResItemInfo(resInfo, item.Path, false, BundleNames); item.ResNames = new List <string> (); resInfo.ResList.Add(item); item.IsAsset = AssetHeplerEditor.SetAssetBundleName("Assets/" + rootName + "/" + name, item.Name, item.ResNames); string outP = GetOutPath(CreateAssetBundle.AssetPath); //FileTools.ClearDirectory (outP); FileTools.CreateDirectory(outP); BuildPipeline.BuildAssetBundles(outP, BuildAssetBundleOptions.UncompressedAssetBundle | BuildAssetBundleOptions.ForceRebuildAssetBundle, EditorUserBuildSettings.activeBuildTarget); CreateAssetBundle.SetDependencies(resInfo, outP); CreateAssetBundle.SaveResInfoFile(FileTools.CombinePath(outP, name + CreateAssetBundle.ResInfoName), resInfo); CreateAssetBundle.ClearAssetName(rootName, resInfo); //CopyToSteaming(rootName, name); PublishEditor.MoveModuleAssetToRes(name); AssetDatabase.Refresh(); //EditorUtility.DisplayDialog("提示", "打包AssetBundle完成!", "确定"); }