81 lines
3.8 KiB
C#
81 lines
3.8 KiB
C#
using UnityEditor;
|
|
using UnityEditor.UI;
|
|
using UnityEngine;
|
|
using XericUI.OverrideLayout;
|
|
|
|
namespace XericUIEditor.OverrideLayout
|
|
{
|
|
[CustomEditor(typeof(XericScrollRect), true)]
|
|
[CanEditMultipleObjects]
|
|
internal class XericScrollRectEditor : ScrollRectEditor
|
|
{
|
|
SerializedProperty m_EnableAutoActiveByMaskVisible;
|
|
SerializedProperty m_layoutGroup;
|
|
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;
|
|
SerializedProperty m_constraintCount;
|
|
|
|
protected override void OnEnable()
|
|
{
|
|
base.OnEnable();
|
|
m_EnableAutoActiveByMaskVisible = serializedObject.FindProperty("m_enableAdvancedFunc");
|
|
m_layoutGroup = serializedObject.FindProperty("layoutGroup");
|
|
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");
|
|
m_constraintCount = serializedObject.FindProperty("m_constraintCount");
|
|
}
|
|
|
|
public override void OnInspectorGUI()
|
|
{
|
|
base.OnInspectorGUI();
|
|
|
|
serializedObject.Update();
|
|
|
|
EditorGUILayout.PropertyField(m_EnableAutoActiveByMaskVisible);
|
|
if (m_EnableAutoActiveByMaskVisible.boolValue)
|
|
{
|
|
EditorGUI.indentLevel++;
|
|
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("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);
|
|
if (m_constraint.enumValueIndex != (int)UnityEngine.UI.GridLayoutGroup.Constraint.Flexible)
|
|
EditorGUILayout.PropertyField(m_constraintCount);
|
|
EditorGUI.indentLevel--;
|
|
}
|
|
|
|
serializedObject.ApplyModifiedProperties();
|
|
}
|
|
}
|
|
} |