Skip to content

扩展BuildPlayerOptions 自定义 #39

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 23 additions & 7 deletions Editor/WXConvertCore.cs
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ public static WXExportError PreCheck()
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);
Expand Down Expand Up @@ -183,7 +183,7 @@ public static WXExportError DoExport(bool buildWebGL = true)
UnityUtil.DelectDir(Path.Combine(config.ProjectConf.DST, webglDir + "/StreamingAssets"));
}

if (buildWebGL && Build() != 0)
if (buildWebGL && Build(buildPlayerOptions) != 0)
{
return WXExportError.BUILD_WEBGL_FAILED;
}
Expand Down Expand Up @@ -824,7 +824,7 @@ private static void ConvertCode()
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;
Expand Down Expand Up @@ -965,8 +965,16 @@ private static int Build()
}

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);
Expand All @@ -984,8 +992,16 @@ private static int Build()
}

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