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;
- }
- }
- }
|