diff --git a/Editor/WXConvertCore.cs b/Editor/WXConvertCore.cs index 0f2033df..9a62f7b8 100644 --- a/Editor/WXConvertCore.cs +++ b/Editor/WXConvertCore.cs @@ -169,7 +169,7 @@ namespace WeChatWASM return WXExportError.SUCCEED; } // 可以调用这个来集成 - public static WXExportError DoExport(bool buildWebGL = true) + public static WXExportError DoExport(bool buildWebGL = true, BuildPlayerOptions buildPlayerOptions = default) { LifeCycleEvent.Init(); Emit(LifeCycle.beforeExport); @@ -204,7 +204,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; } @@ -965,7 +965,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; @@ -1106,8 +1106,16 @@ namespace WeChatWASM } var projDir = Path.Combine(config.ProjectConf.DST, webglDir); - - var result = BuildPipeline.BuildPlayer(GetScenePaths(), projDir, BuildTarget.WeixinMiniGame, option); + // BuildPlayerOptions + { + buildPlayerOptions.scenes = GetScenePaths(); + buildPlayerOptions.locationPathName = projDir; + buildPlayerOptions.options = option; + buildPlayerOptions.target = BuildTarget.WebGL; + buildPlayerOptions.targetGroup = BuildPipeline.GetBuildTargetGroup(buildPlayerOptions.target); + } + var result = BuildPipeline.BuildPlayer(buildPlayerOptions); + //var result = BuildPipeline.BuildPlayer(GetScenePaths(), projDir, BuildTarget.WeixinMiniGame, option); if (result.summary.result != UnityEditor.Build.Reporting.BuildResult.Succeeded) { UnityEngine.Debug.LogFormat("[Builder] BuildPlayer failed. emscriptenArgs:{0}", PlayerSettings.WeixinMiniGame.emscriptenArgs); @@ -1125,8 +1133,16 @@ namespace WeChatWASM } var projDir = Path.Combine(config.ProjectConf.DST, webglDir); - - var result = BuildPipeline.BuildPlayer(GetScenePaths(), projDir, BuildTarget.WebGL, option); + // BuildPlayerOptions + { + buildPlayerOptions.scenes = GetScenePaths(); + buildPlayerOptions.locationPathName = projDir; + buildPlayerOptions.options = option; + buildPlayerOptions.target = BuildTarget.WebGL; + buildPlayerOptions.targetGroup = BuildPipeline.GetBuildTargetGroup(buildPlayerOptions.target); + } + var result = BuildPipeline.BuildPlayer(buildPlayerOptions); + //var result = BuildPipeline.BuildPlayer(GetScenePaths(), projDir, BuildTarget.WebGL, option); if (result.summary.result != UnityEditor.Build.Reporting.BuildResult.Succeeded) { UnityEngine.Debug.LogFormat("[Builder] BuildPlayer failed. emscriptenArgs:{0}", PlayerSettings.WebGL.emscriptenArgs);