From 83f80a71f33401689b8cafef701cfd906e3f28aa Mon Sep 17 00:00:00 2001 From: Kirurobo Date: Sun, 12 Dec 2021 23:12:46 +0900 Subject: [PATCH] Add batch --- .../Scripts/UniWindowControllerBatch.cs | 60 +++++++++++++++++++ .../Scripts/UniWindowControllerBatch.cs.meta | 11 ++++ 2 files changed, 71 insertions(+) create mode 100644 UniWinC/Assets/Kirurobo/UniWindowController/Editor/Scripts/UniWindowControllerBatch.cs create mode 100644 UniWinC/Assets/Kirurobo/UniWindowController/Editor/Scripts/UniWindowControllerBatch.cs.meta diff --git a/UniWinC/Assets/Kirurobo/UniWindowController/Editor/Scripts/UniWindowControllerBatch.cs b/UniWinC/Assets/Kirurobo/UniWindowController/Editor/Scripts/UniWindowControllerBatch.cs new file mode 100644 index 0000000..343c206 --- /dev/null +++ b/UniWinC/Assets/Kirurobo/UniWindowController/Editor/Scripts/UniWindowControllerBatch.cs @@ -0,0 +1,60 @@ +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using UnityEngine; +using UnityEditor; +using UnityEditor.Build; +using UnityEditor.Build.Content; +using UnityEditor.Build.Reporting; +using UnityEditor.Experimental; +using UnityEditor.SceneManagement; + +namespace Kirurobo +{ + class UniWindowControllerBatch + { + //[MenuItem("Build/Build OSX")] + static void PerformBuild() + { + // コマンドライン引数の最後が出力パスだとする + //string outputPath = System.Environment.GetCommandLineArgs().Last(); + + // var buildPlayerOptions = new BuildPlayerOptions(); + // buildPlayerOptions.scenes = sceneList.ToArray(); + // buildPlayerOptions.locationPathName = outputPath; + // buildPlayerOptions.target = BuildTarget.StandaloneOSX; + // buildPlayerOptions.options = BuildOptions.None; + + // 事前にエディタから設定したビルド設定を利用する + var buildTarget = EditorUserBuildSettings.activeBuildTarget; + var buildPlayerOptions = new BuildPlayerOptions + { + scenes = EditorBuildSettingsScene.GetActiveSceneList(EditorBuildSettings.scenes), + locationPathName = EditorUserBuildSettings.GetBuildLocation(buildTarget), + target = buildTarget, + options = BuildOptions.None + }; + + // // 内容チェック用 + // foreach (var scene in buildPlayerOptions.scenes) + // { + // Debug.Log(scene); + // } + // Debug.Log(buildPlayerOptions.locationPathName); + // return; + + var report = BuildPipeline.BuildPlayer(buildPlayerOptions); + var summary = report.summary; + + if (summary.result == BuildResult.Succeeded) + { + Debug.Log("Build succeeded"); + } else if (summary.result == BuildResult.Failed) + { + Debug.Log("Build failed"); + //EditorApplication.Exit(1); + throw new BuildFailedException(report.summary.ToString()); + } + } + } +} diff --git a/UniWinC/Assets/Kirurobo/UniWindowController/Editor/Scripts/UniWindowControllerBatch.cs.meta b/UniWinC/Assets/Kirurobo/UniWindowController/Editor/Scripts/UniWindowControllerBatch.cs.meta new file mode 100644 index 0000000..061687e --- /dev/null +++ b/UniWinC/Assets/Kirurobo/UniWindowController/Editor/Scripts/UniWindowControllerBatch.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2014dd28aebdf44169eed3f90f3ab550 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: