using UnityEditor;
|
using UnityEngine;
|
|
namespace PigeonCoopToolkit.Utillities.Editor
|
{
|
[CustomPropertyDrawer(typeof(Range))]
|
public class RangePropertyDrawer : PropertyDrawer
|
{
|
public override void OnGUI(UnityEngine.Rect position, SerializedProperty property, UnityEngine.GUIContent label)
|
{
|
SerializedProperty Min = property.FindPropertyRelative("Min");
|
SerializedProperty Max = property.FindPropertyRelative("Max");
|
Vector2 newMinMax = Vector2.zero;
|
position.height = 16;
|
EditorGUI.LabelField(position, label);
|
position.y += 20;
|
position.width = position.width / 2;
|
newMinMax.x = EditorGUI.FloatField(position, "Min", Min.floatValue);
|
position.x += position.width;
|
newMinMax.y = EditorGUI.FloatField(position, "Max", Max.floatValue);
|
|
if (newMinMax.x > newMinMax.y)
|
newMinMax.x = newMinMax.y;
|
|
Min.floatValue = newMinMax.x;
|
Max.floatValue = newMinMax.y;
|
}
|
|
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
|
{
|
return base.GetPropertyHeight(property, label) + 20;
|
}
|
}
|
}
|