/// <summary> /// 执行已做的修改 /// </summary> void ExecuteModified() { ResourcesManifest old_resources_manifest = new ResourcesManifest(); old_resources_manifest.Load(EditorCommon.RESOURCES_MANIFEST_FILE_PATH); //压缩AB包 bool compress = BuildAssetBundle.CompressAssetBundles(old_resources_manifest , Manifest); //保存数据 bool save = compress ? SaveData() : false; //拷贝资源 bool copy = save ? BuildAssetBundle.CopyNativeAssetBundleToStreamingAssets(Manifest) : false; bool succeed = compress && copy && save; if (succeed) { //同步数据 if (AssetBundleBuildWindow.Instance != null) { AssetBundleBuildWindow.Instance.SyncConfigForm(Manifest.Data); } else { AssetBundleBuild buildData = new AssetBundleBuild(); buildData.Load(EditorCommon.ASSETBUNDLE_BUILD_RULE_FILE_PATH); buildData.SyncConfigFrom(Manifest.Data); buildData.Save(EditorCommon.ASSETBUNDLE_BUILD_RULE_FILE_PATH); } } string title = "执行配置AssetBundle" + (succeed ? "成功" : "失败"); string compress_desc = "压缩资源 - " + (compress ? "成功" : "失败"); string save_desc = "保存配置文件 - " + (save ? "成功" : "失败"); string copy_desc = "拷贝初始资源至安装包目录 - " + (copy ? "成功" : "失败"); string desc = compress_desc + "\n" + save_desc + "\n" + copy_desc + "\n\n"; EditorUtility.DisplayDialog(title, desc, "确认"); }
/// <summary> /// /// </summary> void LoadData() { asset_bundle_build_ = new AssetBundleBuild(); asset_bundle_build_.Load(AssetBundleBuild.FILE_FULL_NAME); Build(); }
/// <summary> /// /// </summary> void LoadData() { asset_bundle_build_ = new AssetBundleBuild(); if (!asset_bundle_build_.Load(EditorCommon.ASSETBUNDLE_BUILD_RULE_FILE_PATH)) { if (EditorUtility.DisplayDialog("初始化打包配置文件", "当前打包配置文件不存在, 需要生成默认配置文件!", "生成")) { float total = 0; if (Directory.Exists(EditorCommon.SCENE_START_PATH)) { string[] files = Directory.GetFiles(EditorCommon.SCENE_START_PATH, "*.unity", SearchOption.AllDirectories); total += files.Length; } if (Directory.Exists(asset_bundle_build_.BuildStartFullPath)) { string[] dirs = Directory.GetDirectories(asset_bundle_build_.BuildStartFullPath, "*", SearchOption.AllDirectories); total += dirs.Length; } float current = 0f; asset_bundle_build_.GenerateDefaultData((name) => { //进度条提示 current += 1.0f; float progress = current / total; EditorUtility.DisplayProgressBar("初始化打包配置文件", "正在初始化 " + name, progress); }); EditorUtility.ClearProgressBar(); Build(); } } else { if (EditorUtility.DisplayDialog("更新打包配置文件", "是否需要更新打包配置文件!(不执行更新可能会导致资源变更无法被正确识别)", "更新", "不更新")) { float total = 0; if (Directory.Exists(EditorCommon.SCENE_START_PATH)) { string[] files = Directory.GetFiles(EditorCommon.SCENE_START_PATH, "*.unity", SearchOption.AllDirectories); total += files.Length; } if (Directory.Exists(asset_bundle_build_.BuildStartFullPath)) { string[] dirs = Directory.GetDirectories(asset_bundle_build_.BuildStartFullPath, "*", SearchOption.AllDirectories); total += dirs.Length; } float current = 0f; asset_bundle_build_.MatchData((name) => { //进度条提示 current += 1.0f; float progress = current / total; EditorUtility.DisplayProgressBar("更新打包配置文件", "正在更新 " + name, progress); }); EditorUtility.ClearProgressBar(); } Build(); } }