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 ++++++++++++++++++++++-- Assets/ActionTool/Editor/ActionEditorStyles.cs | 5 +++ Assets/ActionTool/Editor/ActionEventEditor.cs | 40 +++++++++++++++++++++++ Assets/ActionTool/Editor/ActionPreviewEditor.cs | 4 +-- 4 files changed, 86 insertions(+), 4 deletions(-) (limited to 'Assets/ActionTool/Editor') 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 diff --git a/Assets/ActionTool/Editor/ActionEditorStyles.cs b/Assets/ActionTool/Editor/ActionEditorStyles.cs index cc806bf7..51b46035 100644 --- a/Assets/ActionTool/Editor/ActionEditorStyles.cs +++ b/Assets/ActionTool/Editor/ActionEditorStyles.cs @@ -8,6 +8,7 @@ namespace ActionTool internal class ActionEditorStyles { public GUIStyle textBoldBig; + public GUIStyle textBoldSmall; public GUIStyle textBold; public GUIStyle selectObj; public GUIStyle textSmall; @@ -56,6 +57,10 @@ namespace ActionTool InitStyle(out textBold, GUI.skin.label, s => { s.fontStyle = FontStyle.Bold; }); + InitStyle(out textBoldSmall, GUI.skin.label, s => { + s.fontSize = 9; + s.fontStyle = FontStyle.Bold; + }); InitStyle(out selectObj, GUI.skin.button, s => { s.normal.background = selectIcon; s.active.background = selectIcon; diff --git a/Assets/ActionTool/Editor/ActionEventEditor.cs b/Assets/ActionTool/Editor/ActionEventEditor.cs index 8edcd1c2..fc5d248d 100644 --- a/Assets/ActionTool/Editor/ActionEventEditor.cs +++ b/Assets/ActionTool/Editor/ActionEventEditor.cs @@ -120,6 +120,22 @@ namespace ActionTool { field.SetValue(animEvent, GUI_Bool((bool)field.GetValue(animEvent))); } + else if(field.FieldType == typeof(AnimationCurve)) + { + field.SetValue(animEvent, GUI_Curve(field.GetValue(animEvent) as AnimationCurve)); + } + else if(field.FieldType.IsEnum) + { + field.SetValue(animEvent, GUI_Enum((Enum)field.GetValue(animEvent))); + } + else if(field.FieldType == typeof(float)) + { + field.SetValue(animEvent, GUI_Float((float)field.GetValue(animEvent))); + } + else if (field.FieldType == typeof(int)) + { + field.SetValue(animEvent, GUI_Int((int)field.GetValue(animEvent))); + } GUILayout.Space(5); } } @@ -127,6 +143,30 @@ namespace ActionTool EditorGUILayout.EndScrollView(); } + 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); + } + Vector3 GUI_Vector3(Vector3 value) { Rect rect = EditorGUILayout.GetControlRect(); diff --git a/Assets/ActionTool/Editor/ActionPreviewEditor.cs b/Assets/ActionTool/Editor/ActionPreviewEditor.cs index 3ed3513b..6ff60ed5 100644 --- a/Assets/ActionTool/Editor/ActionPreviewEditor.cs +++ b/Assets/ActionTool/Editor/ActionPreviewEditor.cs @@ -833,10 +833,10 @@ namespace ActionTool bool frameSelect = GUI.Toggle(frameRect, isSelect, new GUIContent("", animEvent.Name), styles.keyFrameButton); GUI.backgroundColor = prevColor; - Rect labelRect = new Rect(pos.x - 1, pos.y + 2, kFrameWidth, kFrameHeight); + Rect labelRect = new Rect(pos.x, pos.y + 2, kFrameWidth, kFrameHeight); Color col = GUI.color; GUI.color = Color.yellow; - GUI.Label(labelRect, animEvent.shortName, styles.textBold); + GUI.Label(labelRect, animEvent.shortName, styles.textBoldSmall); GUI.color = col; if (!isSelect && frameSelect) -- cgit v1.1-26-g67d0