From 1932efd262686de5ba31fd6e9e3d3a472eedbd9a Mon Sep 17 00:00:00 2001 From: JunQiang Date: Mon, 19 May 2025 11:39:44 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E6=9E=84=E5=BB=BA=E7=9A=84=20=20BuildPlayerOptions=20=20?= =?UTF-8?q?=E5=85=A5=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Editor/WXConvertCore.cs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/Editor/WXConvertCore.cs b/Editor/WXConvertCore.cs index 9318ad12..4d1b253a 100644 --- a/Editor/WXConvertCore.cs +++ b/Editor/WXConvertCore.cs @@ -94,7 +94,7 @@ namespace WeChatWASM } } // 可以调用这个来集成 - public static WXExportError DoExport(bool buildWebGL = true) + public static WXExportError DoExport(bool buildWebGL = true, BuildPlayerOptions buildPlayerOptions = default) { LifeCycleEvent.Init(); Emit(LifeCycle.beforeExport); @@ -154,7 +154,7 @@ namespace WeChatWASM UnityUtil.DelectDir(Path.Combine(config.ProjectConf.DST, webglDir + "/StreamingAssets")); } - if (buildWebGL && Build() != 0) + if (buildWebGL && Build(buildPlayerOptions) != 0) { return WXExportError.BUILD_WEBGL_FAILED; } @@ -795,7 +795,7 @@ namespace WeChatWASM UnityEngine.Debug.LogFormat("[Converter] adapt framework done! "); } - private static int Build() + private static int Build(BuildPlayerOptions buildPlayerOptions) { #if PLATFORM_WEIXINMINIGAME PlayerSettings.WeixinMiniGame.emscriptenArgs = string.Empty; @@ -915,6 +915,11 @@ namespace WeChatWASM option |= BuildOptions.CleanBuildCache; } #endif + var projDir = Path.Combine(config.ProjectConf.DST, webglDir); + buildPlayerOptions.scenes = GetScenePaths(); + buildPlayerOptions.locationPathName = projDir; + buildPlayerOptions.options = option; + #if TUANJIE_2022_3_OR_NEWER if (EditorUserBuildSettings.activeBuildTarget != BuildTarget.WeixinMiniGame) { @@ -926,9 +931,10 @@ namespace WeChatWASM } } - var projDir = Path.Combine(config.ProjectConf.DST, webglDir); + buildPlayerOptions.target = BuildTarget.WeixinMiniGame; + buildPlayerOptions.targetGroup = BuildPipeline.GetBuildTargetGroup(buildPlayerOptions.target); - var result = BuildPipeline.BuildPlayer(GetScenePaths(), projDir, BuildTarget.WeixinMiniGame, option); + var result = BuildPipeline.BuildPlayer(buildPlayerOptions); if (result.summary.result != UnityEditor.Build.Reporting.BuildResult.Succeeded) { UnityEngine.Debug.LogFormat("[Builder] BuildPlayer failed. emscriptenArgs:{0}", PlayerSettings.WeixinMiniGame.emscriptenArgs); @@ -945,9 +951,10 @@ namespace WeChatWASM } } - var projDir = Path.Combine(config.ProjectConf.DST, webglDir); + buildPlayerOptions.target = BuildTarget.WebGL; + buildPlayerOptions.targetGroup = BuildPipeline.GetBuildTargetGroup(buildPlayerOptions.target); - var result = BuildPipeline.BuildPlayer(GetScenePaths(), projDir, BuildTarget.WebGL, option); + var result = BuildPipeline.BuildPlayer(buildPlayerOptions); if (result.summary.result != UnityEditor.Build.Reporting.BuildResult.Succeeded) { UnityEngine.Debug.LogFormat("[Builder] BuildPlayer failed. emscriptenArgs:{0}", PlayerSettings.WebGL.emscriptenArgs);