From 9f1d012cabe55a6078276677b01ef82287a7918e Mon Sep 17 00:00:00 2001 From: sator-imaging <16752340+sator-imaging@users.noreply.github.com> Date: Tue, 2 Apr 2024 20:29:25 +0900 Subject: [PATCH 1/8] auto formatter --- EditorIcons.cs | 156 +++++++++++++++++++++++++++---------------------- 1 file changed, 86 insertions(+), 70 deletions(-) diff --git a/EditorIcons.cs b/EditorIcons.cs index ced9e1d..fe372c6 100644 --- a/EditorIcons.cs +++ b/EditorIcons.cs @@ -33,36 +33,39 @@ public static void EditorIconsOpen() void SearchGUI() { - using( new GUILayout.HorizontalScope()) + using (new GUILayout.HorizontalScope()) { - if (isWide) GUILayout.Space(10); + if (isWide) + GUILayout.Space(10); #if UNITY_2018 search = EditorGUILayout.TextField(search, EditorStyles.toolbarTextField); #else search = EditorGUILayout.TextField(search, EditorStyles.toolbarSearchField); #endif - if ( GUILayout.Button(EditorGUIUtility.IconContent("winbtn_mac_close_h"), //SVN_DeletedLocal - EditorStyles.toolbarButton, + if (GUILayout.Button(EditorGUIUtility.IconContent("winbtn_mac_close_h"), //SVN_DeletedLocal + EditorStyles.toolbarButton, GUILayout.Width(22)) - ) search = ""; + ) + search = ""; } } bool isWide => Screen.width > 550; - bool doSearch => ! string.IsNullOrWhiteSpace(search) && search != ""; + bool doSearch => !string.IsNullOrWhiteSpace(search) && search != ""; - GUIContent GetIcon( string icon_name ) + GUIContent GetIcon(string icon_name) { GUIContent valid = null; Debug.unityLogger.logEnabled = false; - if (!string.IsNullOrEmpty(icon_name)) valid = EditorGUIUtility.IconContent(icon_name); + if (!string.IsNullOrEmpty(icon_name)) + valid = EditorGUIUtility.IconContent(icon_name); Debug.unityLogger.logEnabled = true; return valid?.image == null ? null : valid; } - void SaveIcon( string icon_name ) + void SaveIcon(string icon_name) { Texture2D tex = EditorGUIUtility.IconContent(icon_name).image as Texture2D; @@ -100,7 +103,7 @@ void SaveIcon( string icon_name ) Debug.LogError("Cannot save the icon : null texture error!"); } } - + void SaveAllIcons() { var folderpath = EditorUtility.SaveFolderPanel("", "", ""); @@ -111,13 +114,14 @@ void SaveAllIcons() var split = icon.Split('/').Last(); Texture2D tex = EditorGUIUtility.IconContent(icon).image as Texture2D; - if (tex == null) continue; + if (tex == null) + continue; if (string.IsNullOrWhiteSpace(folderpath)) { Debug.LogError("Folder path invalid..."); break; } - + var path = folderpath + "//" + $"{split}.png"; if (File.Exists(path)) @@ -137,8 +141,8 @@ void SaveAllIcons() #endif Graphics.CopyTexture(tex, outTex); - - + + File.WriteAllBytes(path, outTex.EncodeToPNG()); } } @@ -153,7 +157,7 @@ private void OnEnable() { //InitIcons(); //var all_icons = iconContentListAll.Select(x => x.tooltip).ToArray(); - var all_icons = ico_list.Where( x => GetIcon( x ) != null ); + var all_icons = ico_list.Where(x => GetIcon(x) != null); //List found = new List(); List unique = new List(); //var skip_flag = HideFlags.HideInInspector | HideFlags.HideAndDontSave; @@ -166,8 +170,9 @@ private void OnEnable() //if (!EditorUtility.IsPersistent(x)) skipped_not_persistent++; // skipped 39 none persistent //if (x.hideFlags != HideFlags.HideAndDontSave && x.hideFlags != skip_flag) skipped_flags++; // skipped 27 icons - GUIContent icoContent = GetIcon( x.name ); - if ( icoContent == null ) continue; // skipped 14 icons + GUIContent icoContent = GetIcon(x.name); + if (icoContent == null) + continue; // skipped 14 icons //{ // skipped_nulls++; // continue; @@ -178,7 +183,7 @@ private void OnEnable() //unique_to_resources++; unique.Add(x.name); } - + //found.Add( x.name ); } @@ -204,20 +209,24 @@ private void OnGUI() InitIcons(); - if (!isWide) SearchGUI(); + if (!isWide) + SearchGUI(); - using ( new GUILayout.HorizontalScope( EditorStyles.toolbar ) ) + using (new GUILayout.HorizontalScope(EditorStyles.toolbar)) { - if(GUILayout.Button("Save all icons to folder...",EditorStyles.miniButton)) SaveAllIcons(); - GUILayout.Label("Select what icons to show", GUILayout.Width( 160 )); + if (GUILayout.Button("Save all icons to folder...", EditorStyles.miniButton)) + SaveAllIcons(); + GUILayout.Label("Select what icons to show", GUILayout.Width(160)); viewBigIcons = GUILayout.SelectionGrid( - viewBigIcons ? 1 : 0, new string[] { "Small", "Big" }, - 2 , EditorStyles.toolbarButton) == 1; + viewBigIcons ? 1 : 0, new string[] { "Small", "Big" }, + 2, EditorStyles.toolbarButton) == 1; - if (isWide) SearchGUI(); + if (isWide) + SearchGUI(); } - if (isWide) GUILayout.Space(3); + if (isWide) + GUILayout.Space(3); using (var scope = new GUILayout.ScrollViewScope(scroll)) { @@ -229,66 +238,71 @@ private void OnGUI() // scrollbar_width = ~ 12.5 var render_width = (Screen.width / ppp - 13f); - var gridW = Mathf.FloorToInt( render_width / buttonSize ); - var margin_left = ( render_width - buttonSize * gridW ) / 2; + var gridW = Mathf.FloorToInt(render_width / buttonSize); + var margin_left = (render_width - buttonSize * gridW) / 2; int row = 0, index = 0; List iconList; - if( doSearch ) iconList = iconContentListAll.Where( x => x.tooltip.ToLower() - .Contains( search.ToLower() ) ).ToList(); - else iconList = viewBigIcons ? iconContentListBig : iconContentListSmall; + if (doSearch) + iconList = iconContentListAll.Where(x => x.tooltip.ToLower() + .Contains(search.ToLower())).ToList(); + else + iconList = viewBigIcons ? iconContentListBig : iconContentListSmall; - while ( index < iconList.Count ) + while (index < iconList.Count) { - using( new GUILayout.HorizontalScope() ) + using (new GUILayout.HorizontalScope()) { GUILayout.Space(margin_left); - for( var i = 0; i < gridW; ++ i ) + for (var i = 0; i < gridW; ++i) { int k = i + row * gridW; - var icon = iconList[ k ]; + var icon = iconList[k]; if (GUILayout.Button(icon, iconButtonStyle, GUILayout.Width(buttonSize), - GUILayout.Height(buttonSize))) { + GUILayout.Height(buttonSize))) + { EditorGUI.FocusTextInControl(""); iconSelected = icon; } - index ++ ; + index++; - if( index == iconList.Count ) break; + if (index == iconList.Count) + break; } } - row ++ ; + row++; } GUILayout.Space(10); } - if (iconSelected == null) return; - + if (iconSelected == null) + return; + GUILayout.FlexibleSpace(); - using (new GUILayout.HorizontalScope( EditorStyles.helpBox, GUILayout.MaxHeight(viewBigIcons ? 140 : 120 ) ) ) + using (new GUILayout.HorizontalScope(EditorStyles.helpBox, GUILayout.MaxHeight(viewBigIcons ? 140 : 120))) { - using( new GUILayout.VerticalScope( GUILayout.Width( 130 ) ) ) + using (new GUILayout.VerticalScope(GUILayout.Width(130))) { GUILayout.Space(2); - GUILayout.Button(iconSelected, - darkPreview? iconPreviewBlack:iconPreviewWhite, - GUILayout.Width(128), GUILayout.Height( viewBigIcons ? 128 : 40 )); - + GUILayout.Button(iconSelected, + darkPreview ? iconPreviewBlack : iconPreviewWhite, + GUILayout.Width(128), GUILayout.Height(viewBigIcons ? 128 : 40)); + GUILayout.Space(5); - + darkPreview = GUILayout.SelectionGrid( darkPreview ? 1 : 0, new string[] { "Light", "Dark" }, 2, EditorStyles.miniButton) == 1; @@ -301,22 +315,22 @@ private void OnGUI() using (new GUILayout.VerticalScope()) { var s = $"Size: {iconSelected.image.width}x{iconSelected.image.height}"; - s += "\nIs Pro Skin Icon: " + ( iconSelected.tooltip.IndexOf("d_") == 0 ? "Yes" : "No" ); + s += "\nIs Pro Skin Icon: " + (iconSelected.tooltip.IndexOf("d_") == 0 ? "Yes" : "No"); s += $"\nTotal {iconContentListAll.Count} icons"; GUILayout.Space(5); - EditorGUILayout.HelpBox(s,MessageType.None); + EditorGUILayout.HelpBox(s, MessageType.None); GUILayout.Space(5); EditorGUILayout.TextField("EditorGUIUtility.IconContent(\"" + iconSelected.tooltip + "\")"); GUILayout.Space(5); - if(GUILayout.Button("Copy to clipboard",EditorStyles.miniButton)) + if (GUILayout.Button("Copy to clipboard", EditorStyles.miniButton)) EditorGUIUtility.systemCopyBuffer = iconSelected.tooltip; - if(GUILayout.Button("Save icon to file ...",EditorStyles.miniButton)) + if (GUILayout.Button("Save icon to file ...", EditorStyles.miniButton)) SaveIcon(iconSelected.tooltip); } GUILayout.Space(10); - if (GUILayout.Button( "X", GUILayout.ExpandHeight(true))) + if (GUILayout.Button("X", GUILayout.ExpandHeight(true))) { iconSelected = null; } @@ -334,15 +348,15 @@ private void OnGUI() static GUIStyle iconPreviewBlack = null; static GUIStyle iconPreviewWhite = null; - void AllTheTEXTURES( ref GUIStyle s, Texture2D t ) + void AllTheTEXTURES(ref GUIStyle s, Texture2D t) { s.hover.background = s.onHover.background = s.focused.background = s.onFocused.background = s.active.background = s.onActive.background = s.normal.background = s.onNormal.background = t; s.hover.scaledBackgrounds = s.onHover.scaledBackgrounds = s.focused.scaledBackgrounds = s.onFocused.scaledBackgrounds = s.active.scaledBackgrounds = s.onActive.scaledBackgrounds = s.normal.scaledBackgrounds = s.onNormal.scaledBackgrounds = new Texture2D[] { t }; } - Texture2D Texture2DPixel( Color c ) + Texture2D Texture2DPixel(Color c) { - Texture2D t = new Texture2D(1,1); + Texture2D t = new Texture2D(1, 1); t.SetPixel(0, 0, c); t.Apply(); return t; @@ -350,17 +364,18 @@ Texture2D Texture2DPixel( Color c ) void InitIcons() { - if( iconContentListSmall != null ) return; + if (iconContentListSmall != null) + return; - iconButtonStyle = new GUIStyle( EditorStyles.miniButton ); - iconButtonStyle.margin = new RectOffset(0,0,0,0); + iconButtonStyle = new GUIStyle(EditorStyles.miniButton); + iconButtonStyle.margin = new RectOffset(0, 0, 0, 0); iconButtonStyle.fixedHeight = 0; iconPreviewBlack = new GUIStyle(iconButtonStyle); - AllTheTEXTURES( ref iconPreviewBlack, Texture2DPixel(new Color(0.15f,0.15f,0.15f))); - + AllTheTEXTURES(ref iconPreviewBlack, Texture2DPixel(new Color(0.15f, 0.15f, 0.15f))); + iconPreviewWhite = new GUIStyle(iconButtonStyle); - AllTheTEXTURES( ref iconPreviewWhite, Texture2DPixel(new Color(0.85f, 0.85f, 0.85f))); + AllTheTEXTURES(ref iconPreviewWhite, Texture2DPixel(new Color(0.85f, 0.85f, 0.85f))); iconMissingNames = new List(); iconContentListSmall = new List(); @@ -369,9 +384,9 @@ void InitIcons() for (var i = 0; i < ico_list.Length; ++i) { - GUIContent ico = GetIcon( ico_list[ i ] ); - - if( ico == null ) + GUIContent ico = GetIcon(ico_list[i]); + + if (ico == null) { iconMissingNames.Add(ico_list[i]); continue; @@ -380,10 +395,11 @@ void InitIcons() ico.tooltip = ico_list[i]; iconContentListAll.Add(ico); - - if ( !( ico.image.width <= 36 || ico.image.height <= 36 ) ) + + if (!(ico.image.width <= 36 || ico.image.height <= 36)) iconContentListBig.Add(ico); - else iconContentListSmall.Add(ico); + else + iconContentListSmall.Add(ico); } } @@ -392,7 +408,7 @@ void InitIcons() #region ICONS - public static string[] ico_list = + public static string[] ico_list = { "_Help","_Popup","aboutwindow.mainheader","ageialogo","AlphabeticalSorting","Animation.AddEvent", "Animation.AddKeyframe","Animation.EventMarker","Animation.FirstKey","Animation.LastKey", @@ -743,4 +759,4 @@ void InitIcons() #endregion } -#endif \ No newline at end of file +#endif From b428eef52924a1f5eeb646bef58b92131274bc08 Mon Sep 17 00:00:00 2001 From: sator-imaging <16752340+sator-imaging@users.noreply.github.com> Date: Tue, 2 Apr 2024 20:31:24 +0900 Subject: [PATCH 2/8] ui toolkit USS support --- EditorIcons.cs | 61 ++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 17 deletions(-) diff --git a/EditorIcons.cs b/EditorIcons.cs index fe372c6..f594d05 100644 --- a/EditorIcons.cs +++ b/EditorIcons.cs @@ -214,7 +214,7 @@ private void OnGUI() using (new GUILayout.HorizontalScope(EditorStyles.toolbar)) { - if (GUILayout.Button("Save all icons to folder...", EditorStyles.miniButton)) +if (GUILayout.Button("Save all icons to folder...", EditorStyles.miniButton)) SaveAllIcons(); GUILayout.Label("Select what icons to show", GUILayout.Width(160)); viewBigIcons = GUILayout.SelectionGrid( @@ -247,7 +247,7 @@ private void OnGUI() if (doSearch) iconList = iconContentListAll.Where(x => x.tooltip.ToLower() - .Contains(search.ToLower())).ToList(); + .Contains(search.ToLower())).ToList(); else iconList = viewBigIcons ? iconContentListBig : iconContentListSmall; @@ -293,42 +293,69 @@ private void OnGUI() using (new GUILayout.HorizontalScope(EditorStyles.helpBox, GUILayout.MaxHeight(viewBigIcons ? 140 : 120))) { - using (new GUILayout.VerticalScope(GUILayout.Width(130))) + using (new GUILayout.VerticalScope(GUILayout.Width(128))) { - GUILayout.Space(2); + GUILayout.Button(iconSelected, + iconPreviewBlack, + GUILayout.Width(128), GUILayout.Height(viewBigIcons ? 128 : 128/*40*/)); GUILayout.Button(iconSelected, - darkPreview ? iconPreviewBlack : iconPreviewWhite, - GUILayout.Width(128), GUILayout.Height(viewBigIcons ? 128 : 40)); + iconPreviewWhite, + GUILayout.Width(128), GUILayout.Height(viewBigIcons ? 128 : 128/*40*/)); - GUILayout.Space(5); + //GUILayout.Space(5); - darkPreview = GUILayout.SelectionGrid( - darkPreview ? 1 : 0, new string[] { "Light", "Dark" }, - 2, EditorStyles.miniButton) == 1; + //darkPreview = GUILayout.SelectionGrid( + // darkPreview ? 1 : 0, new string[] { "Light", "Dark" }, + // 2, EditorStyles.miniButton) == 1; GUILayout.FlexibleSpace(); } - GUILayout.Space(10); - using (new GUILayout.VerticalScope()) { var s = $"Size: {iconSelected.image.width}x{iconSelected.image.height}"; s += "\nIs Pro Skin Icon: " + (iconSelected.tooltip.IndexOf("d_") == 0 ? "Yes" : "No"); s += $"\nTotal {iconContentListAll.Count} icons"; - GUILayout.Space(5); + EditorGUILayout.HelpBox(s, MessageType.None); GUILayout.Space(5); EditorGUILayout.TextField("EditorGUIUtility.IconContent(\"" + iconSelected.tooltip + "\")"); GUILayout.Space(5); + if (GUILayout.Button("Copy to clipboard", EditorStyles.miniButton)) EditorGUIUtility.systemCopyBuffer = iconSelected.tooltip; if (GUILayout.Button("Save icon to file ...", EditorStyles.miniButton)) SaveIcon(iconSelected.tooltip); - } - GUILayout.Space(10); + + // USS for Unity Editor + var ussName = iconSelected.tooltip; + int isDark = 0; + if (ussName.StartsWith("d_", System.StringComparison.Ordinal)) + { + ussName = ussName.Substring(2); + isDark = 1; + } + var iconName = ussName; + ussName = ".editor-icon--" + + ussName.Replace(' ', '-').Replace('.', '-').Replace('@', '-').ToLowerInvariant(); + // always export both light and dark + var uss = string.Empty; + while (isDark-- >= 0) + { + uss += $@"{ussName} {{ + background-image: resource('{iconName}'); + -unity-background-scale-mode: scale-to-fit; + background-color: rgba(0, 0, 0, 0); +}} +" + ; + iconName = "d_" + iconName; + ussName += "--dark"; + } + EditorGUILayout.TextField(uss, GUILayout.ExpandHeight(true)); + } if (GUILayout.Button("X", GUILayout.ExpandHeight(true))) { @@ -345,8 +372,8 @@ private void OnGUI() static List iconContentListBig; static List iconMissingNames; static GUIStyle iconButtonStyle = null; - static GUIStyle iconPreviewBlack = null; - static GUIStyle iconPreviewWhite = null; + static GUIStyle iconPreviewBlack; + static GUIStyle iconPreviewWhite; void AllTheTEXTURES(ref GUIStyle s, Texture2D t) { From 087b8b996f24b71cad01d85fdafc475e02a40cff Mon Sep 17 00:00:00 2001 From: sator-imaging <16752340+sator-imaging@users.noreply.github.com> Date: Tue, 2 Apr 2024 20:37:04 +0900 Subject: [PATCH 3/8] fix indent --- EditorIcons.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EditorIcons.cs b/EditorIcons.cs index f594d05..5fca134 100644 --- a/EditorIcons.cs +++ b/EditorIcons.cs @@ -214,7 +214,7 @@ private void OnGUI() using (new GUILayout.HorizontalScope(EditorStyles.toolbar)) { -if (GUILayout.Button("Save all icons to folder...", EditorStyles.miniButton)) + if (GUILayout.Button("Save all icons to folder...", EditorStyles.miniButton)) SaveAllIcons(); GUILayout.Label("Select what icons to show", GUILayout.Width(160)); viewBigIcons = GUILayout.SelectionGrid( From 6b13e50d475cadc9298f004ce05c0448deff3b85 Mon Sep 17 00:00:00 2001 From: sator-imaging <16752340+sator-imaging@users.noreply.github.com> Date: Tue, 2 Apr 2024 20:55:51 +0900 Subject: [PATCH 4/8] uss naming changed --- EditorIcons.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/EditorIcons.cs b/EditorIcons.cs index 5fca134..f059045 100644 --- a/EditorIcons.cs +++ b/EditorIcons.cs @@ -338,8 +338,8 @@ private void OnGUI() isDark = 1; } var iconName = ussName; - ussName = ".editor-icon--" - + ussName.Replace(' ', '-').Replace('.', '-').Replace('@', '-').ToLowerInvariant(); + ussName = ".editor--" + + ussName.Replace(' ', '-').Replace('.', '-').Replace('@', '-').ToLowerInvariant() + "--icon"; // always export both light and dark var uss = string.Empty; while (isDark-- >= 0) @@ -352,7 +352,7 @@ private void OnGUI() " ; iconName = "d_" + iconName; - ussName += "--dark"; + ussName += "-dark"; } EditorGUILayout.TextField(uss, GUILayout.ExpandHeight(true)); } @@ -372,8 +372,8 @@ private void OnGUI() static List iconContentListBig; static List iconMissingNames; static GUIStyle iconButtonStyle = null; - static GUIStyle iconPreviewBlack; - static GUIStyle iconPreviewWhite; + static GUIStyle iconPreviewBlack = null; + static GUIStyle iconPreviewWhite = null; void AllTheTEXTURES(ref GUIStyle s, Texture2D t) { From f9c8bf21b0da62e895d69085cb70021a80cff656 Mon Sep 17 00:00:00 2001 From: sator-imaging <16752340+sator-imaging@users.noreply.github.com> Date: Tue, 2 Apr 2024 21:10:22 +0900 Subject: [PATCH 5/8] icon sort & dark/light icon search --- EditorIcons.cs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/EditorIcons.cs b/EditorIcons.cs index f059045..27d1cb4 100644 --- a/EditorIcons.cs +++ b/EditorIcons.cs @@ -1,11 +1,11 @@ #if UNITY_EDITOR using System; -using UnityEngine; -using UnityEditor; using System.Collections.Generic; -using System.Linq; using System.IO; +using System.Linq; +using UnityEditor; +using UnityEngine; public class EditorIcons : EditorWindow { @@ -194,7 +194,9 @@ private void OnEnable() //Debug.Log($"totals , list: {all_icons.Length} resource: {found.Count}"); //Debug.Log($"Unique list={ unique_to_list } resources={unique_to_resources}") ; - ico_list = ico_list.ToList().Concat(unique).ToArray(); + var list_sort = ico_list.Concat(unique).ToList(); + list_sort.Sort(); + ico_list = list_sort.ToArray(); // Static list icons count : 1315 ( unique = 749 ) // Found icons in resources : 1416 ( unique = 855 ) @@ -332,11 +334,18 @@ private void OnGUI() // USS for Unity Editor var ussName = iconSelected.tooltip; int isDark = 0; - if (ussName.StartsWith("d_", System.StringComparison.Ordinal)) + if (ico_list.Contains("d_" + ussName)) { - ussName = ussName.Substring(2); isDark = 1; } + else if (ussName.StartsWith("d_", StringComparison.Ordinal)) + { + if (ico_list.Contains(ussName.Substring(2))) + { + ussName = ussName.Substring(2); + isDark = 1; + } + } var iconName = ussName; ussName = ".editor--" + ussName.Replace(' ', '-').Replace('.', '-').Replace('@', '-').ToLowerInvariant() + "--icon"; From c9b7ff01bd5c45e4abf1923ee621c29a0b3bd573 Mon Sep 17 00:00:00 2001 From: sator-imaging <16752340+sator-imaging@users.noreply.github.com> Date: Tue, 2 Apr 2024 21:24:40 +0900 Subject: [PATCH 6/8] fix: dark and light icons are now listed together --- EditorIcons.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/EditorIcons.cs b/EditorIcons.cs index 27d1cb4..0d8f9a8 100644 --- a/EditorIcons.cs +++ b/EditorIcons.cs @@ -194,9 +194,16 @@ private void OnEnable() //Debug.Log($"totals , list: {all_icons.Length} resource: {found.Count}"); //Debug.Log($"Unique list={ unique_to_list } resources={unique_to_resources}") ; - var list_sort = ico_list.Concat(unique).ToList(); - list_sort.Sort(); - ico_list = list_sort.ToArray(); + ico_list = ico_list.Concat(unique) + .Distinct(StringComparer.Ordinal) + .OrderBy(x => x) // light and dark icon order is not stable, sort 2 times + .OrderBy(x => // not ThenBy + { + if (x.StartsWith("d_", StringComparison.Ordinal)) + return x.Substring(2); + return x; + }) + .ToArray(); // Static list icons count : 1315 ( unique = 749 ) // Found icons in resources : 1416 ( unique = 855 ) From e66c35793833eb6803f5dc24137ab178c058146b Mon Sep 17 00:00:00 2001 From: sator-imaging <16752340+sator-imaging@users.noreply.github.com> Date: Tue, 9 Apr 2024 08:30:11 +0900 Subject: [PATCH 7/8] naming and background color --- EditorIcons.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/EditorIcons.cs b/EditorIcons.cs index 0d8f9a8..3d97292 100644 --- a/EditorIcons.cs +++ b/EditorIcons.cs @@ -354,6 +354,11 @@ private void OnGUI() } } var iconName = ussName; + // remove redundant 'icon' at end + if (ussName.EndsWith("icon", StringComparison.OrdinalIgnoreCase)) + { + ussName = ussName[..(^4)].TrimEnd('-', '_', ' ', '.'); + } ussName = ".editor--" + ussName.Replace(' ', '-').Replace('.', '-').Replace('@', '-').ToLowerInvariant() + "--icon"; // always export both light and dark @@ -363,7 +368,6 @@ private void OnGUI() uss += $@"{ussName} {{ background-image: resource('{iconName}'); -unity-background-scale-mode: scale-to-fit; - background-color: rgba(0, 0, 0, 0); }} " ; From 43a507d57f1695b872543ef62c805ab759f9310e Mon Sep 17 00:00:00 2001 From: sator-imaging <16752340+sator-imaging@users.noreply.github.com> Date: Tue, 9 Apr 2024 08:43:11 +0900 Subject: [PATCH 8/8] more 'icon' removal from name --- EditorIcons.cs | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/EditorIcons.cs b/EditorIcons.cs index 3d97292..dda8059 100644 --- a/EditorIcons.cs +++ b/EditorIcons.cs @@ -353,12 +353,27 @@ private void OnGUI() isDark = 1; } } - var iconName = ussName; - // remove redundant 'icon' at end + var iconFileName = ussName; + // remove redundant 'icon' if (ussName.EndsWith("icon", StringComparison.OrdinalIgnoreCase)) + ussName = ussName[..^4]; + if (ussName.StartsWith("icon", StringComparison.OrdinalIgnoreCase)) + ussName = ussName[4..]; + var trimChars = new char[] { '-', '_', ' ', '.' }; + foreach (var trim in trimChars) { - ussName = ussName[..(^4)].TrimEnd('-', '_', ' ', '.'); + int pos; + while (true) + { + pos = ussName.IndexOf(trim + "icon", StringComparison.OrdinalIgnoreCase); + if (pos < 0) + break; + + ussName = ussName[..pos] + ussName[(pos + 5)..]; + } } + ussName = ussName.Trim(trimChars); + ussName = ".editor--" + ussName.Replace(' ', '-').Replace('.', '-').Replace('@', '-').ToLowerInvariant() + "--icon"; // always export both light and dark @@ -366,12 +381,12 @@ private void OnGUI() while (isDark-- >= 0) { uss += $@"{ussName} {{ - background-image: resource('{iconName}'); + background-image: resource('{iconFileName}'); -unity-background-scale-mode: scale-to-fit; }} " ; - iconName = "d_" + iconName; + iconFileName = "d_" + iconFileName; ussName += "-dark"; } EditorGUILayout.TextField(uss, GUILayout.ExpandHeight(true));