Add building utils
This commit is contained in:
parent
719ff42c00
commit
425c0a7251
84
Editor/BuildingUtils.cs
Normal file
84
Editor/BuildingUtils.cs
Normal file
@ -0,0 +1,84 @@
|
||||
using System.Diagnostics;
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using Debug = UnityEngine.Debug;
|
||||
|
||||
public static class BuildingUtils
|
||||
{
|
||||
[MenuItem("Tools/Build/Steam/Release")]
|
||||
public static void SteamRelease()
|
||||
{
|
||||
IncreaseBuildNumber();
|
||||
BuildRelease();
|
||||
UploadSteam();
|
||||
}
|
||||
|
||||
[MenuItem("Tools/Build/Steam/Development")]
|
||||
public static void SteamDevelopment()
|
||||
{
|
||||
IncreaseBuildNumber();
|
||||
BuildDevelopment();
|
||||
UploadSteam();
|
||||
}
|
||||
|
||||
|
||||
[MenuItem("Tools/Build/All Release")]
|
||||
public static void BuildRelease()
|
||||
{
|
||||
BuildWindowsRelease();
|
||||
}
|
||||
|
||||
[MenuItem("Tools/Build/All Development")]
|
||||
public static void BuildDevelopment()
|
||||
{
|
||||
BuildWindowsDevelopment();
|
||||
}
|
||||
|
||||
[MenuItem("Tools/Build/Platform/Windows/x64-Development")]
|
||||
public static void BuildWindowsDevelopment() => BuildWindows(false);
|
||||
|
||||
[MenuItem("Tools/Build/Platform/Windows/x64-Release")]
|
||||
public static void BuildWindowsRelease() => BuildWindows(true);
|
||||
|
||||
|
||||
private static void BuildWindows(bool release)
|
||||
{
|
||||
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.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 IncreaseBuildNumber()
|
||||
{
|
||||
string[] versionParts = PlayerSettings.bundleVersion.Split('.');
|
||||
if (versionParts.Length != 3 || !int.TryParse(versionParts[2], out int version)) {
|
||||
Debug.LogError("IncreaseBuildNumber failed to update version " + PlayerSettings.bundleVersion);
|
||||
return;
|
||||
}
|
||||
versionParts[2] = (version + 1).ToString();
|
||||
PlayerSettings.bundleVersion = string.Join(".", versionParts);
|
||||
}
|
||||
|
||||
private static void UploadSteam()
|
||||
{
|
||||
string command = $"cd {Application.dataPath}/../../{Application.productName}-Steam/ContentBuilder && run_build.bat";
|
||||
|
||||
var processInfo = new ProcessStartInfo("cmd.exe", $"/c {command}")
|
||||
{
|
||||
CreateNoWindow = false,
|
||||
UseShellExecute = false
|
||||
};
|
||||
var process = Process.Start(processInfo);
|
||||
process.WaitForExit();
|
||||
Debug.Log(process.ExitCode);
|
||||
process.Close();
|
||||
}
|
||||
}
|
||||
3
Editor/BuildingUtils.cs.meta
Normal file
3
Editor/BuildingUtils.cs.meta
Normal file
@ -0,0 +1,3 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 1e90ce49e16b4cecb77bf258651f6209
|
||||
timeCreated: 1669642124
|
||||
Loading…
x
Reference in New Issue
Block a user