diff options
Diffstat (limited to 'Assets/ActionTool/Editor')
-rw-r--r-- | Assets/ActionTool/Editor/ActionEditorStyles.cs | 2 | ||||
-rw-r--r-- | Assets/ActionTool/Editor/ActionEventEditor.cs | 6 | ||||
-rw-r--r-- | Assets/ActionTool/Editor/ActionManager.cs | 5 | ||||
-rw-r--r-- | Assets/ActionTool/Editor/ActionPreviewEditor.cs | 20 | ||||
-rw-r--r-- | Assets/ActionTool/Editor/ActionToolSettingsEditor.cs | 62 | ||||
-rw-r--r-- | Assets/ActionTool/Editor/ActionToolSettingsEditor.cs.meta | 11 |
6 files changed, 100 insertions, 6 deletions
diff --git a/Assets/ActionTool/Editor/ActionEditorStyles.cs b/Assets/ActionTool/Editor/ActionEditorStyles.cs index a7ec4b88..d4bd37cd 100644 --- a/Assets/ActionTool/Editor/ActionEditorStyles.cs +++ b/Assets/ActionTool/Editor/ActionEditorStyles.cs @@ -45,7 +45,7 @@ namespace ActionTool InitStyle(out textBoldBig, GUI.skin.label, s => {
s.fontStyle = FontStyle.Bold;
- s.fontSize = 20;
+ s.fontSize = 18;
s.alignment = TextAnchor.MiddleCenter;
});
diff --git a/Assets/ActionTool/Editor/ActionEventEditor.cs b/Assets/ActionTool/Editor/ActionEventEditor.cs index 82580b17..8edcd1c2 100644 --- a/Assets/ActionTool/Editor/ActionEventEditor.cs +++ b/Assets/ActionTool/Editor/ActionEventEditor.cs @@ -48,9 +48,9 @@ namespace ActionTool GUILayout.Space(2);
- EditorGUILayout.LabelField(eventName, styles.textBoldBig, GUILayout.Height(30));
+ EditorGUILayout.LabelField(eventName, styles.textBoldBig, GUILayout.Height(25));
- GUILayout.Space(5);
+ GUILayout.Space(2);
EditorGUILayout.BeginHorizontal();
if (GUILayout.Button("Save"))
@@ -148,7 +148,7 @@ namespace ActionTool bool GUI_Bool(bool value)
{
Rect rect = EditorGUILayout.GetControlRect();
- return GUI.Toggle(rect, value, "");
+ return GUI.Toggle(rect, value, "Check");
}
}
diff --git a/Assets/ActionTool/Editor/ActionManager.cs b/Assets/ActionTool/Editor/ActionManager.cs index cc8a7dfd..094e28fc 100644 --- a/Assets/ActionTool/Editor/ActionManager.cs +++ b/Assets/ActionTool/Editor/ActionManager.cs @@ -12,12 +12,15 @@ namespace ActionTool public static string s_Controller = "Assets/ActionTool/controller_temp.controller";
public static string s_AnimationDataFolder = "Assets/Data/AnimationData/";
static string s_RootMotionDataFolder = "Assets/Data/RootMotionData/";
+ static string s_SettingPath = "Assets/ActionTool/ActionTool Settings.asset";
public static ActionEditor AnimationWindow;
public static ActionPreviewEditor PreviewWindow;
public static ActionEventEditor EventEditWindow;
public static ActionColliderEditor ColliderWindow;
+ public static ActionToolSettings Settings;
+
//规定timeline上事件的采样频率是30帧
public const int FPS = 30;
@@ -218,6 +221,8 @@ namespace ActionTool s_Animator.applyRootMotion = false;
s_Gizmos = unit.AddComponent<ActionToolGizmos>();
+
+ Settings = AssetDatabase.LoadAssetAtPath<ActionToolSettings>(s_SettingPath);
}
public static void UpdateFrame()
diff --git a/Assets/ActionTool/Editor/ActionPreviewEditor.cs b/Assets/ActionTool/Editor/ActionPreviewEditor.cs index f277ce97..f0a828fc 100644 --- a/Assets/ActionTool/Editor/ActionPreviewEditor.cs +++ b/Assets/ActionTool/Editor/ActionPreviewEditor.cs @@ -555,11 +555,27 @@ namespace ActionTool var animEvent = animEvents[i];
if (animEvent == null)
continue;
+
+ Color bgColor = Color.black;
+ if(ActionManager.Settings != null)
+ {
+ bgColor = ActionManager.Settings.GetColor(animEvent.type.ToString());
+ }
Vector2 pos = new Vector2(kTimeLineViewXOffset + frame * kFrameWidth, y);
Rect frameRect = new Rect(pos.x, pos.y, kFrameWidth, kFrameHeight);
bool isSelect = ActionManager.animationEvent == animEvent;
- bool frameSelect = GUI.Toggle(frameRect, isSelect, "E", styles.keyFrameButton);
- if(!isSelect && frameSelect)
+ Color prevColor = GUI.backgroundColor;
+ GUI.backgroundColor = bgColor;
+ 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);
+ Color col = GUI.color;
+ GUI.color = Color.yellow;
+ GUI.Label(labelRect, animEvent.shortName, styles.textBold);
+ GUI.color = col;
+
+ if (!isSelect && frameSelect)
{
ActionManager.OnSelectAnimationEvent(animEvent);
}
diff --git a/Assets/ActionTool/Editor/ActionToolSettingsEditor.cs b/Assets/ActionTool/Editor/ActionToolSettingsEditor.cs new file mode 100644 index 00000000..ee73f844 --- /dev/null +++ b/Assets/ActionTool/Editor/ActionToolSettingsEditor.cs @@ -0,0 +1,62 @@ +using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEditor;
+using UnityEngine;
+
+[CustomEditor(typeof(ActionToolSettings))]
+public class ActionToolSettingsEditor : Editor
+{
+ ActionToolSettings setting;
+
+ public void OnEnable()
+ {
+ setting = target as ActionToolSettings;
+ }
+
+ public void OnDisable()
+ {
+
+ }
+
+ public override void OnInspectorGUI()
+ {
+ if (setting == null)
+ return;
+
+ //foreach(var col in setting.eventColors)
+ //{
+ // EditorGUILayout.BeginHorizontal();
+ // EditorGUILayout.LabelField(col.Key.ToString());
+ // Color c = EditorGUILayout.ColorField(col.Value);
+ // setting.eventColors[col.Key] = c;
+ // EditorGUILayout.EndHorizontal();
+ //}
+
+ EditorGUI.BeginChangeCheck();
+
+ foreach (var name in Enum.GetNames(typeof(TimelineEvent.EEventType)))
+ {
+ EditorGUILayout.BeginHorizontal();
+ EditorGUILayout.LabelField(name);
+ Color old = setting.eventNames.Contains(name) ? setting.eventColors[setting.eventNames.IndexOf(name)] : Color.black;
+ Color c = EditorGUILayout.ColorField(old);
+ if (!setting.eventNames.Contains(name))
+ {
+ setting.eventNames.Add(name);
+ setting.eventColors.Add(c);
+ }
+ setting.eventColors[setting.eventNames.IndexOf(name)] = c;
+ EditorGUILayout.EndHorizontal();
+ }
+
+ if(EditorGUI.EndChangeCheck())
+ {
+ EditorUtility.SetDirty(setting);
+ //AssetDatabase.SaveAssets();
+ //AssetDatabase.Refresh();
+ }
+ }
+
+}
+
\ No newline at end of file diff --git a/Assets/ActionTool/Editor/ActionToolSettingsEditor.cs.meta b/Assets/ActionTool/Editor/ActionToolSettingsEditor.cs.meta new file mode 100644 index 00000000..9e1702fd --- /dev/null +++ b/Assets/ActionTool/Editor/ActionToolSettingsEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 2208059a63398d941a5613752569a003 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: |