SlideGridLayoutGroupEditor.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using UnityEditorInternal;
  4. using UnityEditor.AnimatedValues;
  5. namespace UnityEditor.UI
  6. {
  7. [CustomEditor(typeof(SlideGridLayoutGroup), true)]
  8. [CanEditMultipleObjects]
  9. /// <summary>
  10. /// Custom Editor for the GridLayout Component.
  11. /// Extend this class to write a custom editor for an GridLayout-derived component.
  12. /// </summary>
  13. public class SlideGridLayoutGroupEditor : Editor
  14. {
  15. SerializedProperty m_Padding;
  16. SerializedProperty m_CellSize;
  17. SerializedProperty m_Spacing;
  18. SerializedProperty m_StartCorner;
  19. SerializedProperty m_StartAxis;
  20. SerializedProperty m_ChildAlignment;
  21. SerializedProperty m_Constraint;
  22. SerializedProperty m_ConstraintCount;
  23. SerializedProperty m_SnapEnable;
  24. protected virtual void OnEnable()
  25. {
  26. m_Padding = serializedObject.FindProperty("m_Padding");
  27. m_CellSize = serializedObject.FindProperty("m_CellSize");
  28. m_Spacing = serializedObject.FindProperty("m_Spacing");
  29. m_StartCorner = serializedObject.FindProperty("m_StartCorner");
  30. m_StartAxis = serializedObject.FindProperty("m_StartAxis");
  31. m_ChildAlignment = serializedObject.FindProperty("m_ChildAlignment");
  32. m_Constraint = serializedObject.FindProperty("m_Constraint");
  33. m_SnapEnable = serializedObject.FindProperty("m_SnapEnable");
  34. }
  35. public override void OnInspectorGUI()
  36. {
  37. serializedObject.Update();
  38. EditorGUILayout.PropertyField(m_Padding, true);
  39. EditorGUILayout.PropertyField(m_CellSize, true);
  40. EditorGUILayout.PropertyField(m_Spacing, true);
  41. EditorGUILayout.PropertyField(m_StartCorner, true);
  42. EditorGUILayout.PropertyField(m_StartAxis, true);
  43. EditorGUILayout.PropertyField(m_ChildAlignment, true);
  44. EditorGUILayout.PropertyField(m_Constraint, true);
  45. EditorGUILayout.PropertyField(m_SnapEnable, true);
  46. if (m_Constraint.enumValueIndex > 0)
  47. {
  48. EditorGUI.indentLevel++;
  49. EditorGUILayout.PropertyField(m_ConstraintCount, true);
  50. EditorGUI.indentLevel--;
  51. }
  52. serializedObject.ApplyModifiedProperties();
  53. }
  54. }
  55. }