This commit is contained in:
JunQiang 2025-09-26 15:10:44 -07:00 committed by GitHub
commit 20e2cd61b5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -169,7 +169,7 @@ namespace WeChatWASM
return WXExportError.SUCCEED; return WXExportError.SUCCEED;
} }
// 可以调用这个来集成 // 可以调用这个来集成
public static WXExportError DoExport(bool buildWebGL = true) public static WXExportError DoExport(bool buildWebGL = true, BuildPlayerOptions buildPlayerOptions = default)
{ {
LifeCycleEvent.Init(); LifeCycleEvent.Init();
Emit(LifeCycle.beforeExport); Emit(LifeCycle.beforeExport);
@ -204,7 +204,7 @@ namespace WeChatWASM
UnityUtil.DelectDir(Path.Combine(config.ProjectConf.DST, webglDir + "/StreamingAssets")); UnityUtil.DelectDir(Path.Combine(config.ProjectConf.DST, webglDir + "/StreamingAssets"));
} }
if (buildWebGL && Build() != 0) if (buildWebGL && Build(buildPlayerOptions) != 0)
{ {
return WXExportError.BUILD_WEBGL_FAILED; return WXExportError.BUILD_WEBGL_FAILED;
} }
@ -965,7 +965,7 @@ namespace WeChatWASM
UnityEngine.Debug.LogFormat("[Converter] adapt framework done! "); UnityEngine.Debug.LogFormat("[Converter] adapt framework done! ");
} }
private static int Build() private static int Build(BuildPlayerOptions buildPlayerOptions)
{ {
#if PLATFORM_WEIXINMINIGAME #if PLATFORM_WEIXINMINIGAME
PlayerSettings.WeixinMiniGame.emscriptenArgs = string.Empty; PlayerSettings.WeixinMiniGame.emscriptenArgs = string.Empty;
@ -1106,8 +1106,16 @@ namespace WeChatWASM
} }
var projDir = Path.Combine(config.ProjectConf.DST, webglDir); var projDir = Path.Combine(config.ProjectConf.DST, webglDir);
// BuildPlayerOptions
var result = BuildPipeline.BuildPlayer(GetScenePaths(), projDir, BuildTarget.WeixinMiniGame, option); {
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) if (result.summary.result != UnityEditor.Build.Reporting.BuildResult.Succeeded)
{ {
UnityEngine.Debug.LogFormat("[Builder] BuildPlayer failed. emscriptenArgs:{0}", PlayerSettings.WeixinMiniGame.emscriptenArgs); 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 projDir = Path.Combine(config.ProjectConf.DST, webglDir);
// BuildPlayerOptions
var result = BuildPipeline.BuildPlayer(GetScenePaths(), projDir, BuildTarget.WebGL, option); {
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) if (result.summary.result != UnityEditor.Build.Reporting.BuildResult.Succeeded)
{ {
UnityEngine.Debug.LogFormat("[Builder] BuildPlayer failed. emscriptenArgs:{0}", PlayerSettings.WebGL.emscriptenArgs); UnityEngine.Debug.LogFormat("[Builder] BuildPlayer failed. emscriptenArgs:{0}", PlayerSettings.WebGL.emscriptenArgs);