From f50326c223546e862f6800f643490e13616960e0 Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 19 Aug 2021 19:42:26 +0800 Subject: *misc --- Assets/ActionTool/Editor/ActionColliderEditor.cs | 41 ++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) (limited to 'Assets/ActionTool/Editor/ActionColliderEditor.cs') 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 -- cgit v1.1-26-g67d0