From b5fa52967b40a849a4d02f769160e372fa51f7ae Mon Sep 17 00:00:00 2001 From: MichaelO Date: Fri, 14 Mar 2025 18:03:05 +0800 Subject: [PATCH] Modified BuildinCatalog to support bundle building with the CopyBuildinFiles option --- .../BuildTasks/TaskCopyBuildinFiles_BBP.cs | 1 + .../BuildTasks/TaskCopyBuildinFiles_RFBP.cs | 1 + .../BuildTasks/TaskCopyBuildinFiles_SBP.cs | 1 + .../DefaultBuildinFileSystemBuild.cs | 11 ++++++++++- 4 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/BuiltinBuildPipeline/BuildTasks/TaskCopyBuildinFiles_BBP.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/BuiltinBuildPipeline/BuildTasks/TaskCopyBuildinFiles_BBP.cs index 28e6c420..24850b08 100644 --- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/BuiltinBuildPipeline/BuildTasks/TaskCopyBuildinFiles_BBP.cs +++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/BuiltinBuildPipeline/BuildTasks/TaskCopyBuildinFiles_BBP.cs @@ -15,6 +15,7 @@ namespace YooAsset.Editor if (buildParametersContext.Parameters.BuildinFileCopyOption != EBuildinFileCopyOption.None) { CopyBuildinFilesToStreaming(buildParametersContext, manifestContext.Manifest); + DefaultBuildinFileSystemBuild.ExportBuildinCatalogFile(); } } } diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/RawFileBuildPipeline/BuildTasks/TaskCopyBuildinFiles_RFBP.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/RawFileBuildPipeline/BuildTasks/TaskCopyBuildinFiles_RFBP.cs index 037d19eb..849331f6 100644 --- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/RawFileBuildPipeline/BuildTasks/TaskCopyBuildinFiles_RFBP.cs +++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/RawFileBuildPipeline/BuildTasks/TaskCopyBuildinFiles_RFBP.cs @@ -16,6 +16,7 @@ namespace YooAsset.Editor if (buildParameters.BuildinFileCopyOption != EBuildinFileCopyOption.None) { CopyBuildinFilesToStreaming(buildParametersContext, manifestContext.Manifest); + DefaultBuildinFileSystemBuild.ExportBuildinCatalogFile(); } } } diff --git a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/ScriptableBuildPipeline/BuildTasks/TaskCopyBuildinFiles_SBP.cs b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/ScriptableBuildPipeline/BuildTasks/TaskCopyBuildinFiles_SBP.cs index aa95380f..7060c443 100644 --- a/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/ScriptableBuildPipeline/BuildTasks/TaskCopyBuildinFiles_SBP.cs +++ b/Assets/YooAsset/Editor/AssetBundleBuilder/BuildPipeline/ScriptableBuildPipeline/BuildTasks/TaskCopyBuildinFiles_SBP.cs @@ -15,6 +15,7 @@ namespace YooAsset.Editor if (buildParametersContext.Parameters.BuildinFileCopyOption != EBuildinFileCopyOption.None) { CopyBuildinFilesToStreaming(buildParametersContext, manifestContext.Manifest); + DefaultBuildinFileSystemBuild.ExportBuildinCatalogFile(); } } } diff --git a/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystemBuild.cs b/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystemBuild.cs index c5a76264..39b8a580 100644 --- a/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystemBuild.cs +++ b/Assets/YooAsset/Runtime/FileSystem/DefaultBuildinFileSystem/DefaultBuildinFileSystemBuild.cs @@ -14,6 +14,15 @@ namespace YooAsset /// 原理:搜索StreamingAssets目录下的所有资源文件,然后将这些文件信息写入文件,并存储在Resources目录下。 /// public void OnPreprocessBuild(UnityEditor.Build.Reporting.BuildReport report) + { + ExportBuildinCatalogFile(); + } + + /// + /// 输出包裹的内置资源目录文件 + /// + /// + public static void ExportBuildinCatalogFile() { YooLogger.Log("Begin to create catalog file !"); @@ -127,7 +136,7 @@ namespace YooAsset string saveFilePath = $"{pacakgeDirectory}/{DefaultBuildinFileSystemDefine.BuildinCatalogFileName}"; if (File.Exists(saveFilePath)) File.Delete(saveFilePath); - + // 创建输出文件 File.WriteAllText(saveFilePath, JsonUtility.ToJson(buildinFileCatalog, false)); UnityEditor.AssetDatabase.Refresh();