diff --git a/Editor/EditorMessageUtility.cs b/Editor/EditorMessageUtility.cs index b6aa609..7fbd560 100644 --- a/Editor/EditorMessageUtility.cs +++ b/Editor/EditorMessageUtility.cs @@ -2,6 +2,7 @@ using UnityEditor; using UnityEngine; using UnityEngine.TextCore.Text; +using UnityEngine.UIElements; using UObject = UnityEngine.Object; namespace GBG.EditorMessages.Editor @@ -94,6 +95,26 @@ public static Texture GetCustomDataIcon() return EditorGUIUtility.IconContent("animation.play").image; } + + public static Image NewImage(Texture image = null, string tooltip = null, DisplayStyle display = DisplayStyle.Flex) + { + Image imageElement = new Image + { + tooltip = tooltip, + image = image, + style = + { + display = display, + alignSelf = Align.Center, + minWidth = GlobalIconSize, + maxWidth = GlobalIconSize, + minHeight = GlobalIconSize, + maxHeight = GlobalIconSize, + } + }; + return imageElement; + } + #endregion diff --git a/Editor/MessageBanner.cs b/Editor/MessageBanner.cs index 018259e..878344d 100644 --- a/Editor/MessageBanner.cs +++ b/Editor/MessageBanner.cs @@ -63,17 +63,7 @@ public MessageBanner(IList messages, object source, string sourceName, float iconSize = EditorMessageUtility.GlobalIconSize; - TypeImage = new Image - { - style = - { - alignSelf = Align.Center, - minWidth = iconSize, - maxWidth = iconSize, - minHeight = iconSize, - maxHeight = iconSize, - } - }; + TypeImage = EditorMessageUtility.NewImage(); Add(TypeImage); MessageLabel = new Label @@ -130,19 +120,8 @@ public MessageBanner(IList messages, object source, string sourceName, private Image CreateMessageTypeImage(Texture defaultIcon, float iconSize) { - Image image = new Image - { - image = defaultIcon, - style = - { - display = ShowMessageTypeCount ? DisplayStyle.Flex : DisplayStyle.None, - alignSelf = Align.Center, - minWidth = iconSize, - maxWidth = iconSize, - minHeight = iconSize, - maxHeight = iconSize, - } - }; + Image image = EditorMessageUtility.NewImage(defaultIcon, + display: ShowMessageTypeCount ? DisplayStyle.Flex : DisplayStyle.None); return image; } diff --git a/Editor/MessageDetailsTabElement.cs b/Editor/MessageDetailsTabElement.cs index 31a4dad..84fb92e 100644 --- a/Editor/MessageDetailsTabElement.cs +++ b/Editor/MessageDetailsTabElement.cs @@ -15,19 +15,7 @@ public MessageDetailsTabElement(Texture texture, string tooltip, Action onClick) style.height = iconSize; this.tooltip = tooltip; - Icon = new Image - { - image = texture, - style = - { - alignSelf = Align.Center, - minWidth = iconSize, - maxWidth = iconSize, - minHeight = iconSize, - maxHeight = iconSize, - //backgroundColor = inactiveColor, - } - }; + Icon = EditorMessageUtility.NewImage(texture); Add(Icon); RegisterCallback(evt => onClick?.Invoke()); diff --git a/Editor/MessageElement.cs b/Editor/MessageElement.cs index d2f0619..539f817 100644 --- a/Editor/MessageElement.cs +++ b/Editor/MessageElement.cs @@ -47,17 +47,7 @@ public MessageElement() }; Add(LineNumberLabel); - TypeImage = new Image - { - style = - { - alignSelf = Align.Center, - minWidth = iconSize, - maxWidth = iconSize, - minHeight = iconSize, - maxHeight = iconSize, - } - }; + TypeImage = EditorMessageUtility.NewImage(); Add(TypeImage); TimestampLabel = new Label @@ -98,32 +88,10 @@ public MessageElement() }; Add(MessageLabel); - ContextImage = new Image - { - tooltip = "This message has context.", - style = - { - alignSelf = Align.Center, - minWidth = iconSize, - maxWidth = iconSize, - minHeight = iconSize, - maxHeight = iconSize, - } - }; + ContextImage = EditorMessageUtility.NewImage(tooltip: "This message has context."); Add(ContextImage); - CustomDataImage = new Image - { - tooltip = "This message has custom data.", - style = - { - alignSelf = Align.Center, - minWidth = iconSize, - maxWidth = iconSize, - minHeight = iconSize, - maxHeight = iconSize, - } - }; + CustomDataImage = EditorMessageUtility.NewImage(tooltip: "This message has custom data."); Add(CustomDataImage); RegisterCallback(OnClick); diff --git a/Editor/MessageTypeToggle.cs b/Editor/MessageTypeToggle.cs index ff13baa..8c7fcf0 100644 --- a/Editor/MessageTypeToggle.cs +++ b/Editor/MessageTypeToggle.cs @@ -18,17 +18,7 @@ public MessageTypeToggle(bool value) float iconSize = EditorMessageUtility.GlobalIconSize; - _typeImage = new Image - { - style = - { - alignSelf = Align.Center, - minWidth = iconSize, - maxWidth = iconSize, - minHeight = iconSize, - maxHeight = iconSize, - } - }; + _typeImage = EditorMessageUtility.NewImage(); Insert(0, _typeImage); } diff --git a/Editor/MessageViewer.cs b/Editor/MessageViewer.cs index 97a1f3b..b112e56 100644 --- a/Editor/MessageViewer.cs +++ b/Editor/MessageViewer.cs @@ -202,19 +202,8 @@ private void CreateGUI() toolbar.Add(_searchField); // Regex Error Image - _regexErrorImage = new Image - { - image = EditorMessageUtility.GetErrorIcon(), - style = - { - alignSelf = Align.Center, - display = DisplayStyle.None, - minWidth = iconSize, - maxWidth = iconSize, - minHeight = iconSize, - maxHeight = iconSize, - } - }; + _regexErrorImage = EditorMessageUtility.NewImage(EditorMessageUtility.GetErrorIcon(), + display: DisplayStyle.None); toolbar.Add(_regexErrorImage); // Regex Toggle @@ -332,6 +321,14 @@ private void OnDisable() } } + private void ShowButton(Rect pos) + { + if (GUI.Button(pos, EditorGUIUtility.IconContent("_Help"), GUI.skin.FindStyle("IconButton"))) + { + Application.OpenURL("https://github.com/SolarianZ/UnityEditorMessages"); + } + } + #endregion diff --git a/package.json b/package.json index 5657592..a08b885 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "com.greenbamboogames.editormessages", - "version": "1.0.1", + "version": "1.0.2", "displayName": "Editor Messages!", "description": "Show custom messages in Unity Editor.", "unity": "2022.3",