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);