diff options
author | chai <chaifix@163.com> | 2021-07-23 18:42:13 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-07-23 18:42:13 +0800 |
commit | 4ceee84cd45e4e3ec40ebd888e41bd47a938c2d5 (patch) | |
tree | 7ab020f3c784a90eec9e8a100db68039b5306b45 /Assets/ActionTool | |
parent | cb893e1e5e4820cb800836cf6b8a79a1cd986cdc (diff) |
*misc
Diffstat (limited to 'Assets/ActionTool')
-rw-r--r-- | Assets/ActionTool/ActionTool Settings.asset | 46 | ||||
-rw-r--r-- | Assets/ActionTool/ActionTool Settings.asset.meta | 8 | ||||
-rw-r--r-- | Assets/ActionTool/ActionToolSettings.cs | 20 | ||||
-rw-r--r-- | Assets/ActionTool/ActionToolSettings.cs.meta | 11 | ||||
-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 |
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: |