From 5b158af90739dcbb89c1538a6cb8c65a875dce80 Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 26 Nov 2020 20:52:34 +0800 Subject: *misc --- .../Utils/Editor/StyledGUI/DrawWindowCategory.cs | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Assets/BOXOPHOBIC/Utils/Editor/StyledGUI/DrawWindowCategory.cs (limited to 'Assets/BOXOPHOBIC/Utils/Editor/StyledGUI/DrawWindowCategory.cs') diff --git a/Assets/BOXOPHOBIC/Utils/Editor/StyledGUI/DrawWindowCategory.cs b/Assets/BOXOPHOBIC/Utils/Editor/StyledGUI/DrawWindowCategory.cs new file mode 100644 index 00000000..8950ff7b --- /dev/null +++ b/Assets/BOXOPHOBIC/Utils/Editor/StyledGUI/DrawWindowCategory.cs @@ -0,0 +1,48 @@ +// Cristian Pop - https://boxophobic.com/ + +using UnityEngine; +using UnityEditor; +using Boxophobic.Constants; + +namespace Boxophobic.StyledGUI +{ + public partial class StyledGUI + { + public static void DrawWindowCategory(string bannerText) + { + var position = GUILayoutUtility.GetRect(0, 0, 40, 0); + + var categoryFullRect = new Rect(position.position.x, position.position.y + 10, position.width, position.height); + var categoryBeginRect = new Rect(categoryFullRect.position.x, categoryFullRect.position.y, 10, 20); + var categoryMiddleRect = new Rect(categoryFullRect.position.x + 10, categoryFullRect.position.y, categoryFullRect.xMax - 41, 20); + var categoryEndRect = new Rect(categoryFullRect.xMax - 13, categoryFullRect.position.y, 10, 20); + var titleRect = new Rect(categoryFullRect.position.x, categoryFullRect.position.y, categoryFullRect.width, 18); + + if (EditorGUIUtility.isProSkin) + { + GUI.color = CONSTANT.ColorDarkGray; + } + else + { + GUI.color = CONSTANT.ColorLightGray; + } + + //Workaround for flickering images in CustomInspector with Attribute + GUIStyle styleB = new GUIStyle(); + styleB.normal.background = CONSTANT.CategoryImageBegin; + EditorGUI.LabelField(categoryBeginRect, GUIContent.none, styleB); + + GUIStyle styleM = new GUIStyle(); + styleM.normal.background = CONSTANT.CategoryImageMiddle; + EditorGUI.LabelField(categoryMiddleRect, GUIContent.none, styleM); + + GUIStyle styleE = new GUIStyle(); + styleE.normal.background = CONSTANT.CategoryImageEnd; + EditorGUI.LabelField(categoryEndRect, GUIContent.none, styleE); + + GUI.color = Color.white; + GUI.Label(titleRect, bannerText, CONSTANT.BoldTextStyle); + } + } +} + -- cgit v1.1-26-g67d0