summaryrefslogtreecommitdiff
path: root/Assets/ActionTool/Editor/ActionColliderEditor.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/ActionTool/Editor/ActionColliderEditor.cs')
-rw-r--r--Assets/ActionTool/Editor/ActionColliderEditor.cs41
1 files changed, 39 insertions, 2 deletions
diff --git a/Assets/ActionTool/Editor/ActionColliderEditor.cs b/Assets/ActionTool/Editor/ActionColliderEditor.cs
index 9bb77515..85e29c6d 100644
--- a/Assets/ActionTool/Editor/ActionColliderEditor.cs
+++ b/Assets/ActionTool/Editor/ActionColliderEditor.cs
@@ -132,9 +132,21 @@ namespace ActionTool
{
field.SetValue(collider, GUI_Bool((bool)field.GetValue(collider)));
}
- else
+ else if (field.FieldType == typeof(AnimationCurve))
{
- GUI_Enum(field.GetValue(collider).ToString());
+ field.SetValue(collider, GUI_Curve(field.GetValue(collider) as AnimationCurve));
+ }
+ else if (field.FieldType.IsEnum)
+ {
+ field.SetValue(collider, GUI_Enum((Enum)field.GetValue(collider)));
+ }
+ else if (field.FieldType == typeof(float))
+ {
+ field.SetValue(collider, GUI_Float((float)field.GetValue(collider)));
+ }
+ else if (field.FieldType == typeof(int))
+ {
+ field.SetValue(collider, GUI_Int((int)field.GetValue(collider)));
}
GUI.enabled = true;
GUILayout.Space(5);
@@ -173,5 +185,30 @@ namespace ActionTool
GUI.Label(rect, value);
}
+ float GUI_Float(float value)
+ {
+ Rect rect = EditorGUILayout.GetControlRect();
+ return EditorGUI.FloatField(rect, "", value);
+ }
+
+ int GUI_Int(int value)
+ {
+ Rect rect = EditorGUILayout.GetControlRect();
+ return EditorGUI.IntField(rect, "", value);
+ }
+
+ AnimationCurve GUI_Curve(AnimationCurve curve)
+ {
+ Rect rect = EditorGUILayout.GetControlRect();
+ return EditorGUI.CurveField(rect, "", curve);
+ }
+
+ Enum GUI_Enum(Enum enumValue)
+ {
+ Rect rect = EditorGUILayout.GetControlRect();
+ return EditorGUI.EnumPopup(rect, "", enumValue);
+ }
+
+
}
} \ No newline at end of file