void OnGUI() { if (_buildInfo == null) { LoadBuildData(); } if (!populatedOptions) { PopulateSceneOptions(); } GUILayout.Space(20); if (_buildInfo == null) { EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("BuildInfo not found", GUILayout.Width(120)); return; } EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Company Name", GUILayout.Width(120)); _buildInfo.CompanyName = EditorGUILayout.TextField(_buildInfo.CompanyName); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Application Name", GUILayout.Width(120)); _buildInfo.ApplicationName = EditorGUILayout.TextField(_buildInfo.ApplicationName); EditorGUILayout.EndHorizontal(); GUILayout.Space(20); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Major Version", GUILayout.Width(120)); _buildInfo.MajorVersion = EditorGUILayout.IntField(_buildInfo.MajorVersion); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Minor Version", GUILayout.Width(120)); _buildInfo.MinorVersion = EditorGUILayout.IntField(_buildInfo.MinorVersion); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Patch Version", GUILayout.Width(120)); _buildInfo.PatchVersion = EditorGUILayout.IntField(_buildInfo.PatchVersion); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Build Version", GUILayout.Width(120)); _buildInfo.BuildVersion = EditorGUILayout.IntField(_buildInfo.BuildVersion); EditorGUILayout.EndHorizontal(); GUILayout.Space(20); EditorGUILayout.BeginHorizontal(); EditorGUILayout.LabelField("Build Notes", GUILayout.Width(120)); _buildInfo.BuildNotes = EditorGUILayout.TextArea(_buildInfo.BuildNotes, GUILayout.Height(50)); EditorGUILayout.EndHorizontal(); GUILayout.Space(20); EditorGUILayout.LabelField("Scenes", GUILayout.Width(120)); EditorGUILayout.BeginVertical(); for (int i = 0; i < scenes.Count; i++) { EditorGUILayout.BeginHorizontal(); int sceneSelection = scenes[i].selectedSceneId; scenes[i].selectedSceneId = EditorGUILayout.Popup("Scene " + i, sceneSelection, _sceneOptions); scenes[i].selectedScene = _sceneOptions[scenes[i].selectedSceneId]; EditorGUILayout.EndHorizontal(); } EditorGUILayout.BeginHorizontal(); if (!_building) { if (GUILayout.Button("Refresh Scenes")) { populatedOptions = false; } if (GUILayout.Button("Add Scene")) { scenes.Add(new SceneSelection()); } } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); GUILayout.Space(20); EditorGUILayout.LabelField("Build Settings", GUILayout.Width(120)); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Build Debug")) { EditorCoroutine.start(BuildProjectRoutine(false)); } if (GUILayout.Button("Build Release")) { EditorCoroutine.start(BuildProjectRoutine(true)); } EditorGUILayout.EndHorizontal(); }