private void OnGUI() { GUILayout.Space(10); GUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("Path:", GUILayout.Width(35)); EditorGUI.BeginChangeCheck(); _options.BuildPath = GUILayout.TextField(EditorPrefs.GetString("Builds path", _options.BuildPath)); if (GUILayout.Button("Browse...")) { _options.BuildPath = OpenFolderWindow(); } if (EditorGUI.EndChangeCheck()) { EditorPrefs.SetString("Builds path", _options.BuildPath); } } GUILayout.EndHorizontal(); EditorGUILayout.LabelField("Last version: " + _fileController.Versions[_fileController.Versions.Length - 1].Number); EditorGUILayout.LabelField("Updated: " + _fileController.Updated.ToString("u")); GUILayout.BeginHorizontal(); { EditorGUILayout.LabelField("Platform:", GUILayout.Width(60)); _options.TargetBuild = (BuildTarget)EditorGUILayout.EnumPopup(_options.TargetBuild); } GUILayout.EndHorizontal(); EditorGUILayoutExtensions.Line(); _versionController.OnGUI(); EditorGUILayout.LabelField("Comment:"); _fileController.NewVersion.Comment = EditorGUILayout.TextArea( _fileController.NewVersion.Comment, GUILayout.Height(60)); EditorGUILayoutExtensions.Line(); GUILayout.BeginHorizontal(); { _options.DeletePreviousBuilds = GUILayout.Toggle(_options.DeletePreviousBuilds, "Delete previous builds"); _options.RunAfterBuild = GUILayout.Toggle(_options.RunAfterBuild, "Run after building"); } GUILayout.EndHorizontal(); if (_options.DeletePreviousBuilds) { EditorGUILayout.HelpBox("All files at " + _options.BuildPath + " will be deleted!", MessageType.Warning); } GUILayout.Space(20); GUILayout.BeginHorizontal(); { if (GUILayout.Button("Player Settings")) { OpenPlayerSettings(); } if (GUILayout.Button("Build Settings")) { OpenBuildSettings(); } if (GUILayout.Button("Build")) { _options.VersionNumber = _versionController.CalculateNextVersion(); _fileController.VersioningPattern = _versionController.VersioningPattern; _fileController.NewVersion.Number = _options.VersionNumber; _fileController.Save(); EditorApplication.delayCall += new Builder(_options).Build; Close(); } } GUILayout.EndHorizontal(); }