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