MarginDrawer.cs 955 B

1234567891011121314151617181920212223242526272829303132
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using UnityEditor;
  6. using UnityEngine;
  7. namespace TheraBytes.BetterUi
  8. {
  9. [CustomPropertyDrawer(typeof(Margin))]
  10. public class MarginDrawer : PropertyDrawer
  11. {
  12. bool foldout;
  13. public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
  14. {
  15. var margin = fieldInfo.GetValue(property.serializedObject.targetObject)
  16. as Margin;
  17. foldout = EditorGUILayout.Foldout(foldout, "Margin");
  18. if (foldout)
  19. {
  20. margin.Left = EditorGUILayout.IntField("left", margin.Left);
  21. margin.Right = EditorGUILayout.IntField("right", margin.Right);
  22. margin.Top = EditorGUILayout.IntField("top", margin.Top);
  23. margin.Bottom = EditorGUILayout.IntField("bottom", margin.Bottom);
  24. }
  25. }
  26. }
  27. }