private void OnGUI() { if (shouldSetStyles) { SetStyles(); shouldSetStyles = false; } var guiColor = GUI.color; GUILayout.Label("Versioning", bigLabelCenter); GUILayout.BeginHorizontal(); GUI.color = Color.yellow; GUILayout.Label($"Current {version}", labelRight); GUILayout.Label($"(Committed {DlogVersion.Version.GetValue()})", label); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUI.enabled = version != DlogVersion.Version.GetValue(); if (GUILayout.Button("Reset", smallButton)) { version = DlogVersion.Version.GetValue(); } if (GUILayout.Button("Commit", smallButton)) { CommitVersion(); } GUI.enabled = true; GUILayout.FlexibleSpace(); GUI.color = guiColor; GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MaxHeight(32)); GUI.backgroundColor = Color.red; GUILayout.Space(32); GUILayoutHelper.CenterVertically(() => { if (GUILayout.Button("Bump MAJOR")) { version.BumpMajor(); } }); GUILayoutHelper.CenterVertically(() => { if (GUILayout.Button("Bump MINOR")) { version.BumpMinor(); } }); GUILayoutHelper.CenterVertically(() => { if (GUILayout.Button("Bump PATCH")) { version.BumpPatch(); } }); GUILayout.Space(32); GUI.backgroundColor = guiColor; GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(GUILayout.MaxHeight(32)); GUILayout.Space(32); GUILayoutHelper.CenterVertically(() => { GUILayout.Label("(Enter Manually) Version", labelRight); }); GUILayoutHelper.CenterVertically(() => { enteredVersion = GUILayout.TextField(enteredVersion); }); if (!SemVer.IsValid(enteredVersion)) { GUI.enabled = false; } GUILayoutHelper.CenterVertically(() => { if (GUILayout.Button("Set", button)) { version = (SemVer)enteredVersion; } }); GUI.enabled = true; GUILayout.Space(32); GUILayout.EndHorizontal(); }