| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | using UnityEditor;using UnityEngine;namespace MPUIKIT.Editor {    [CustomPropertyDrawer(typeof(Triangle))]    public class TrianglePropertyDrawer : PropertyDrawer{        public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) {            EditorGUI.BeginProperty(position, label, property);            {                Rect LabelRect = new Rect(position.x, position.y, position.width, EditorGUIUtility.singleLineHeight);                Rect RadiusVectorRect = new Rect(position.x,                     position.y + EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing,                     position.width, EditorGUIUtility.singleLineHeight);                                SerializedProperty uniform = property.FindPropertyRelative("m_UniformCornerRadius");                SerializedProperty radius = property.FindPropertyRelative("m_CornerRadius");                                MPEditorUtility.CornerRadiusModeGUI(LabelRect, ref uniform, new []{"Free", "Uniform"});                float floatVal = radius.vector3Value.x;                Vector3 vectorValue = radius.vector3Value;                                EditorGUI.BeginChangeCheck();                {                    if (uniform.boolValue) {                        floatVal = EditorGUI.FloatField(RadiusVectorRect, "Uniform Radius", floatVal);                    }                    else {                        vectorValue = EditorGUI.Vector3Field(RadiusVectorRect, string.Empty, vectorValue);                    }                }                if (EditorGUI.EndChangeCheck()) {                    radius.vector3Value = uniform.boolValue ? new Vector3(floatVal, floatVal, floatVal) : vectorValue;                }            }            EditorGUI.EndProperty();        }        public override float GetPropertyHeight(SerializedProperty property, GUIContent label) {            return EditorGUIUtility.singleLineHeight * 2 + EditorGUIUtility.standardVerticalSpacing * 2;        }    }}
 |