summaryrefslogtreecommitdiff
path: root/Assets/ActionTool
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-07-23 18:42:13 +0800
committerchai <chaifix@163.com>2021-07-23 18:42:13 +0800
commit4ceee84cd45e4e3ec40ebd888e41bd47a938c2d5 (patch)
tree7ab020f3c784a90eec9e8a100db68039b5306b45 /Assets/ActionTool
parentcb893e1e5e4820cb800836cf6b8a79a1cd986cdc (diff)
*misc
Diffstat (limited to 'Assets/ActionTool')
-rw-r--r--Assets/ActionTool/ActionTool Settings.asset46
-rw-r--r--Assets/ActionTool/ActionTool Settings.asset.meta8
-rw-r--r--Assets/ActionTool/ActionToolSettings.cs20
-rw-r--r--Assets/ActionTool/ActionToolSettings.cs.meta11
-rw-r--r--Assets/ActionTool/Editor/ActionEditorStyles.cs2
-rw-r--r--Assets/ActionTool/Editor/ActionEventEditor.cs6
-rw-r--r--Assets/ActionTool/Editor/ActionManager.cs5
-rw-r--r--Assets/ActionTool/Editor/ActionPreviewEditor.cs20
-rw-r--r--Assets/ActionTool/Editor/ActionToolSettingsEditor.cs62
-rw-r--r--Assets/ActionTool/Editor/ActionToolSettingsEditor.cs.meta11
10 files changed, 185 insertions, 6 deletions
diff --git a/Assets/ActionTool/ActionTool Settings.asset b/Assets/ActionTool/ActionTool Settings.asset
new file mode 100644
index 00000000..f1247575
--- /dev/null
+++ b/Assets/ActionTool/ActionTool Settings.asset
@@ -0,0 +1,46 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+ m_ObjectHideFlags: 0
+ m_CorrespondingSourceObject: {fileID: 0}
+ m_PrefabInstance: {fileID: 0}
+ m_PrefabAsset: {fileID: 0}
+ m_GameObject: {fileID: 0}
+ m_Enabled: 1
+ m_EditorHideFlags: 0
+ m_Script: {fileID: 11500000, guid: 7a4c92544e0489b499e3339f34c1ff00, type: 3}
+ m_Name: ActionTool Settings
+ m_EditorClassIdentifier:
+ eventNames:
+ - EventCamera_Zoom
+ - EventCamera_Shake
+ - EventCamera_Blur
+ - EventCamera_WhiteOut
+ - EventMesh_AfterImage
+ - EventMesh_Fade
+ - EventMesh_Gloss
+ - EventEnv_Dark
+ - EventEnv_Exposure
+ - EventUI_Drift
+ - EventUI_Blur
+ - EventProjectile
+ - EventEffect
+ - EventSound
+ - EventBulletTime
+ eventColors:
+ - {r: 0, g: 0, b: 0, a: 1}
+ - {r: 0, g: 0, b: 0, a: 1}
+ - {r: 0, g: 0, b: 0, a: 1}
+ - {r: 0, g: 0, b: 0, a: 1}
+ - {r: 0, g: 0, b: 0, a: 1}
+ - {r: 0, g: 0, b: 0, a: 1}
+ - {r: 0, g: 0, b: 0, a: 1}
+ - {r: 0, g: 0, b: 0, a: 1}
+ - {r: 0, g: 0, b: 0, a: 1}
+ - {r: 0, g: 0, b: 0, a: 1}
+ - {r: 0.6037736, g: 0.3275187, b: 0.5568827, a: 1}
+ - {r: 0.9528302, g: 0.013483422, b: 0.013483422, a: 1}
+ - {r: 1, g: 0, b: 0.9345741, a: 1}
+ - {r: 0, g: 0, b: 0, a: 1}
+ - {r: 0, g: 0, b: 0, a: 1}
diff --git a/Assets/ActionTool/ActionTool Settings.asset.meta b/Assets/ActionTool/ActionTool Settings.asset.meta
new file mode 100644
index 00000000..4a7f2686
--- /dev/null
+++ b/Assets/ActionTool/ActionTool Settings.asset.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ad7c850066198a844a2c34bb5ee73fc8
+NativeFormatImporter:
+ externalObjects: {}
+ mainObjectFileID: 11400000
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/Assets/ActionTool/ActionToolSettings.cs b/Assets/ActionTool/ActionToolSettings.cs
new file mode 100644
index 00000000..62f79ac4
--- /dev/null
+++ b/Assets/ActionTool/ActionToolSettings.cs
@@ -0,0 +1,20 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+[CreateAssetMenu(fileName = "ActionTool Settings")]
+public class ActionToolSettings : ScriptableObject
+{
+ public List<string> eventNames = new List<string>();
+ public List<Color> eventColors = new List<Color>();
+
+ public Color GetColor(string eventName)
+ {
+ if(eventNames.Contains(eventName))
+ {
+ return eventColors[eventNames.IndexOf(eventName)];
+ }
+ return Color.black;
+ }
+
+}
diff --git a/Assets/ActionTool/ActionToolSettings.cs.meta b/Assets/ActionTool/ActionToolSettings.cs.meta
new file mode 100644
index 00000000..bd3da9fa
--- /dev/null
+++ b/Assets/ActionTool/ActionToolSettings.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7a4c92544e0489b499e3339f34c1ff00
+MonoImporter:
+ externalObjects: {}
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
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: