| 123456789101112131415161718192021222324252627282930313233 | using UnityEditor;using UnityEngine;namespace MPUIKIT.Editor {    [CustomPropertyDrawer(typeof(NStarPolygon))]    public class NStarPolygonPropertyDrawer : PropertyDrawer {        public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) {            EditorGUI.BeginProperty(position, label, property);            {                SerializedProperty sideCount = property.FindPropertyRelative("m_SideCount");                SerializedProperty inset = property.FindPropertyRelative("m_Inset");                SerializedProperty cornerRadius = property.FindPropertyRelative("m_CornerRadius");                SerializedProperty offset = property.FindPropertyRelative("m_Offset");                Rect line = position;                line.height = EditorGUIUtility.singleLineHeight;                EditorGUI.Slider(line, sideCount, 3f, 10f);                line.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;                EditorGUI.Slider(line, inset, 2f, sideCount.floatValue - 0.01f);                line.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;                EditorGUI.PropertyField(line, cornerRadius);                line.y += EditorGUIUtility.singleLineHeight + EditorGUIUtility.standardVerticalSpacing;                EditorGUI.PropertyField(line, offset);            }            EditorGUI.EndProperty();        }        public override float GetPropertyHeight(SerializedProperty property, GUIContent label) {            return EditorGUIUtility.singleLineHeight * 4.5f + EditorGUIUtility.standardVerticalSpacing * 4;        }    }}
 |