diff --git a/Editor/BuildingUtils.cs b/Editor/BuildingUtils.cs index b2acc8d..7cc5407 100644 --- a/Editor/BuildingUtils.cs +++ b/Editor/BuildingUtils.cs @@ -56,13 +56,13 @@ public static class BuildingUtils UploadSteam(); } - [MenuItem("Tools/Build/All Release")] public static void BuildRelease() { if(!CanBuild()) return; BuildWindowsRelease(); + BuildLinuxRelease(); } [MenuItem("Tools/Build/All Development")] @@ -88,6 +88,15 @@ public static class BuildingUtils return; BuildWindows(true); } + + [MenuItem("Tools/Build/Platform/Linux/x64-Release")] + public static void BuildLinuxRelease() + { + if(!CanBuild()) + return; + BuildLinux(true); + } + [MenuItem("Tools/Build/Platform/Android/GooglePlay")] public static void BuildGooglePlay() @@ -109,7 +118,7 @@ public static class BuildingUtils BuildPipeline.BuildPlayer(buildPlayerOptions); } - private static void BuildWindows(bool release) + private static void BuildWindows(bool release, string[] additionalDefines = default) { var buildPlayerOptions = new BuildPlayerOptions { scenes = new string[EditorBuildSettings.scenes.Length] }; for (int i = 0; i < EditorBuildSettings.scenes.Length; i++) @@ -117,12 +126,31 @@ public static class BuildingUtils buildPlayerOptions.scenes[i] = EditorBuildSettings.scenes[i].path; } + buildPlayerOptions.extraScriptingDefines = additionalDefines; + buildPlayerOptions.target = BuildTarget.StandaloneWindows64; buildPlayerOptions.options = release ? BuildOptions.None : BuildOptions.Development; buildPlayerOptions.locationPathName = Application.dataPath + $"/../../{Application.productName}-Steam/ContentBuilder/content/windows/{Application.productName}.exe"; BuildPipeline.BuildPlayer(buildPlayerOptions); } + + private static void BuildLinux(bool release, string[] additionalDefines = default) + { + var buildPlayerOptions = new BuildPlayerOptions { scenes = new string[EditorBuildSettings.scenes.Length] }; + for (int i = 0; i < EditorBuildSettings.scenes.Length; i++) + { + buildPlayerOptions.scenes[i] = EditorBuildSettings.scenes[i].path; + } + + buildPlayerOptions.extraScriptingDefines = additionalDefines; + + buildPlayerOptions.target = BuildTarget.StandaloneLinux64; + buildPlayerOptions.options = release ? BuildOptions.None : BuildOptions.Development; + buildPlayerOptions.locationPathName = Application.dataPath + + $"/../../{Application.productName}-Steam/ContentBuilder/content/linux/{Application.productName}.x86_64"; + BuildPipeline.BuildPlayer(buildPlayerOptions); + } private static void IncreaseBuildNumber() { @@ -137,7 +165,7 @@ public static class BuildingUtils private static void UploadSteam() { - string command = $"cd {Application.dataPath}/../../{Application.productName}-Steam/ContentBuilder && run_build.bat"; + string command = $"cd {Application.dataPath}/../../{Application.productName}-Steam/ContentBuilder && push_build.bat"; var processInfo = new ProcessStartInfo("cmd.exe", $"/c {command}") {