| 1234567891011121314151617181920212223242526272829303132333435363738394041 | 
							- #if UNITY_EDITOR
 
- using UnityEditor;
 
- using UnityEngine;
 
- namespace GpuEcsAnimationBaker.Engine.Data
 
- {
 
-     [CustomPropertyDrawer(typeof(AnimatorParameter))]
 
-     public class AnimatorParameterDrawer : PropertyDrawer
 
-     {
 
-         public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
 
-         {
 
-             EditorGUI.BeginProperty(position, label, property);
 
-             float w = (position.width - 90) / 2;
 
-             SerializedProperty parameterNameProperty = property.FindPropertyRelative("parameterName");
 
-             SerializedProperty parameterTypeProperty = property.FindPropertyRelative("parameterType");
 
-             SerializedProperty boolValueProperty = property.FindPropertyRelative("boolValue");
 
-             SerializedProperty floatValueProperty = property.FindPropertyRelative("floatValue");
 
-             SerializedProperty intValueProperty = property.FindPropertyRelative("intValue");
 
-             EditorGUI.PropertyField(new Rect(position.position, new Vector2(w, position.height)), 
 
-                 parameterNameProperty, new GUIContent(""));
 
-             EditorGUI.BeginChangeCheck();            
 
-             EditorGUI.PropertyField(new Rect(position.position + new Vector2(w + 5, 0), new Vector2(80, position.height)), 
 
-                 parameterTypeProperty, new GUIContent(""));
 
-             if (EditorGUI.EndChangeCheck())
 
-             {
 
-                 boolValueProperty.boolValue = false;
 
-                 floatValueProperty.floatValue = 0;
 
-                 intValueProperty.intValue = 0;
 
-             }
 
-             AnimatorParameterTypes parameterType = (AnimatorParameterTypes)parameterTypeProperty.enumValueIndex;
 
-             SerializedProperty valueProperty = null;
 
-             if (parameterType == AnimatorParameterTypes.Bool) valueProperty = boolValueProperty;
 
-             else if (parameterType == AnimatorParameterTypes.Float) valueProperty = floatValueProperty;
 
-             else if (parameterType == AnimatorParameterTypes.Integer) valueProperty = intValueProperty;
 
-             EditorGUI.PropertyField(new Rect(position.position + new Vector2(w + 90, 0), new Vector2(w, position.height)), 
 
-                 valueProperty, new GUIContent(""));
 
-             EditorGUI.EndProperty();
 
-         }
 
-     }
 
- }
 
- #endif
 
 
  |