optimization

This commit is contained in:
DCFApixels 2025-03-10 19:41:17 +08:00
parent 3d6e8d108d
commit f9f3c0ce15
3 changed files with 29 additions and 12 deletions

View File

@ -229,7 +229,10 @@ namespace DCFApixels.DragonECS.Unity.Editors
RuntimeComponentsUtility.GetAddComponentGenericMenu(world).Open(dropDownRect, entityID); RuntimeComponentsUtility.GetAddComponentGenericMenu(world).Open(dropDownRect, entityID);
} }
GUILayout.Box("", UnityEditorUtility.GetStyle(GUI.color, 0.16f), GUILayout.ExpandWidth(true)); using (SetBackgroundColor(GUI.color.SetAlpha(0.16f)))
{
GUILayout.Box("", UnityEditorUtility.GetWhiteStyle(), GUILayout.ExpandWidth(true));
}
IsShowHidden = EditorGUI.Toggle(GUILayoutUtility.GetLastRect(), "Show Hidden", IsShowHidden); IsShowHidden = EditorGUI.Toggle(GUILayoutUtility.GetLastRect(), "Show Hidden", IsShowHidden);
if (_componentPoolsBuffer == null) if (_componentPoolsBuffer == null)

View File

@ -367,10 +367,11 @@ namespace DCFApixels.DragonECS.Unity.Editors
} }
#endregion #endregion
#region WhiteTexture #region GetDefaultStyle
private static Texture2D _whiteTexture; private static Texture2D _whiteTexture;
private static GUIStyle _whiteStyle; private static GUIStyle _whiteStyle;
private static GUIStyle _transperentBlackBackgrounStyle; private static GUIStyle _transperentBlackBackgrounStyle;
private static GUIStyle _clearBackgrounStyle;
public static Texture2D GetWhiteTexture() public static Texture2D GetWhiteTexture()
{ {
if (_whiteTexture == null) if (_whiteTexture == null)
@ -379,9 +380,13 @@ namespace DCFApixels.DragonECS.Unity.Editors
} }
return _whiteTexture; return _whiteTexture;
} }
private static bool IsNotInitializedStyle(GUIStyle style)
{
return style == null || style.normal.background == null;
}
public static GUIStyle GetWhiteStyle() public static GUIStyle GetWhiteStyle()
{ {
if (_whiteStyle == null || _whiteStyle.normal.background == null) if (IsNotInitializedStyle(_whiteStyle))
{ {
_whiteStyle = CreateStyle(GetWhiteTexture(), GUI.skin.label); _whiteStyle = CreateStyle(GetWhiteTexture(), GUI.skin.label);
} }
@ -389,12 +394,20 @@ namespace DCFApixels.DragonECS.Unity.Editors
} }
public static GUIStyle GetTransperentBlackBackgrounStyle() public static GUIStyle GetTransperentBlackBackgrounStyle()
{ {
if (_transperentBlackBackgrounStyle == null || _transperentBlackBackgrounStyle.normal.background == null) if (IsNotInitializedStyle(_transperentBlackBackgrounStyle))
{ {
_transperentBlackBackgrounStyle = CreateStyle(CreateTexture(2, 2, new Color(0, 0, 0, 0.2f)), GUI.skin.label); _transperentBlackBackgrounStyle = CreateStyle(CreateTexture(2, 2, new Color(0, 0, 0, 0.2f)), GUI.skin.label);
} }
return _transperentBlackBackgrounStyle; return _transperentBlackBackgrounStyle;
} }
public static GUIStyle GetClearBackgrounStyle()
{
if (IsNotInitializedStyle(_clearBackgrounStyle))
{
_clearBackgrounStyle = CreateStyle(CreateTexture(2, 2, new Color(0, 0, 0, 0)), GUI.skin.label);
}
return _clearBackgrounStyle;
}
#endregion #endregion
#region GetStyle #region GetStyle

View File

@ -84,19 +84,20 @@ namespace DCFApixels.DragonECS.Unity.Docs.Editors
GUILayout.BeginHorizontal(GUILayout.ExpandHeight(true)); GUILayout.BeginHorizontal(GUILayout.ExpandHeight(true));
MetaGroupInfo selectedGroupInfo;
ButtonsScrolPosition = GUILayout.BeginScrollView(ButtonsScrolPosition, UnityEditorUtility.GetStyle(Color.black, 0f), GUILayout.Width(_buttonsWidth)); using (EcsGUI.Layout.BeginScrollView(ref ButtonsScrolPosition, UnityEditorUtility.GetClearBackgrounStyle(), GUILayout.Width(_buttonsWidth)))
var selectedGroupInfo = DrawGroups(); {
GUILayout.EndScrollView(); selectedGroupInfo = DrawGroups();
}
DrawDragger(); DrawDragger();
GUILayout.Space(EditorGUIUtility.standardVerticalSpacing * -2f); GUILayout.Space(EditorGUIUtility.standardVerticalSpacing * -2f);
using (EcsGUI.Layout.BeginScrollView(ref DataScrolPosition, UnityEditorUtility.GetTransperentBlackBackgrounStyle(), GUILayout.ExpandWidth(true)))
DataScrolPosition = GUILayout.BeginScrollView(DataScrolPosition, UnityEditorUtility.GetTransperentBlackBackgrounStyle(), GUILayout.ExpandWidth(true)); {
DrawSelectedGroupMeta(selectedGroupInfo); DrawSelectedGroupMeta(selectedGroupInfo);
GUILayout.EndScrollView(); }
//GUILayout.Space(EditorGUIUtility.standardVerticalSpacing * -2f); //GUILayout.Space(EditorGUIUtility.standardVerticalSpacing * -2f);
GUILayout.EndHorizontal(); GUILayout.EndHorizontal();