xericScrollRect组件中添加了网格布局和尺寸计算功能

This commit is contained in:
2026-04-17 12:25:31 +08:00
parent 60d5822a82
commit 21a09edad2
10 changed files with 652 additions and 120 deletions
+37 -8
View File
@@ -1,5 +1,6 @@
using UnityEditor;
using UnityEditor.UI;
using UnityEngine;
using XericUI.OverrideLayout;
namespace XericUIEditor.OverrideLayout
@@ -13,15 +14,33 @@ namespace XericUIEditor.OverrideLayout
SerializedProperty m_preloadMargin;
SerializedProperty m_discernibleDistance;
SerializedProperty m_AAMVUpdateRate;
SerializedProperty m_childrenPool;
SerializedProperty m_cellSize;
SerializedProperty m_spacing;
SerializedProperty m_padding;
SerializedProperty m_startCorner;
SerializedProperty m_startAxis;
SerializedProperty m_childAlignment;
SerializedProperty m_constraint;
protected override void OnEnable()
{
base.OnEnable();
m_EnableAutoActiveByMaskVisible = serializedObject.FindProperty("enableAutoActiveByMaskVisible");
m_EnableAutoActiveByMaskVisible = serializedObject.FindProperty("m_enableAdvancedFunc");
m_layoutGroup = serializedObject.FindProperty("layoutGroup");
m_preloadMargin = serializedObject.FindProperty("preloadMargin");
m_discernibleDistance = serializedObject.FindProperty("discernibleDistance");
m_AAMVUpdateRate = serializedObject.FindProperty("AAMVUpdateRate");
m_preloadMargin = serializedObject.FindProperty("m_preloadMargin");
m_discernibleDistance = serializedObject.FindProperty("m_discernibleDistance");
m_AAMVUpdateRate = serializedObject.FindProperty("m_AAMVUpdateRate");
m_childrenPool = serializedObject.FindProperty("childrenPool");
m_cellSize = serializedObject.FindProperty("m_cellSize");
m_spacing = serializedObject.FindProperty("m_spacing");
m_padding = serializedObject.FindProperty("m_padding");
m_startCorner = serializedObject.FindProperty("m_startCorner");
m_startAxis = serializedObject.FindProperty("m_startAxis");
m_childAlignment = serializedObject.FindProperty("m_childAlignment");
m_constraint = serializedObject.FindProperty("m_constraint");
}
public override void OnInspectorGUI()
@@ -29,7 +48,7 @@ namespace XericUIEditor.OverrideLayout
base.OnInspectorGUI();
serializedObject.Update();
EditorGUILayout.PropertyField(m_EnableAutoActiveByMaskVisible);
if (m_EnableAutoActiveByMaskVisible.boolValue)
{
@@ -37,11 +56,21 @@ namespace XericUIEditor.OverrideLayout
EditorGUILayout.PropertyField(m_layoutGroup, EditorGUIUtility.TrTextContent("Layout Group"));
EditorGUILayout.PropertyField(m_preloadMargin, EditorGUIUtility.TrTextContent("Preload Margin"));
EditorGUILayout.PropertyField(m_discernibleDistance, EditorGUIUtility.TrTextContent("Discernible Distance"));
EditorGUILayout.PropertyField(m_AAMVUpdateRate, EditorGUIUtility.TrTextContent("Aamv Update Rate"));
EditorGUILayout.PropertyField(m_AAMVUpdateRate, EditorGUIUtility.TrTextContent("Update Rate"));
EditorGUILayout.PropertyField(m_childrenPool, EditorGUIUtility.TrTextContent("Item Pool"));
EditorGUI.indentLevel--;
EditorGUILayout.LabelField(new GUIContent("GridLayout"));
EditorGUI.indentLevel++;
EditorGUILayout.PropertyField(m_cellSize);
EditorGUILayout.PropertyField(m_spacing);
EditorGUILayout.PropertyField(m_padding);
EditorGUILayout.PropertyField(m_startCorner);
EditorGUILayout.PropertyField(m_startAxis);
EditorGUILayout.PropertyField(m_childAlignment);
EditorGUILayout.PropertyField(m_constraint);
EditorGUI.indentLevel--;
}
serializedObject.ApplyModifiedProperties();
}
}