summaryrefslogtreecommitdiff
path: root/Assets/Tools/ActionTool/Editor/ActionColliderFrameEditor.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-09-15 12:50:26 +0800
committerchai <chaifix@163.com>2021-09-15 12:50:26 +0800
commit98f31f197a126850a5878cd6e583ae6dbf64ab3d (patch)
tree207f726fb027c227d2fd58bd1bc340cb3a7eaf67 /Assets/Tools/ActionTool/Editor/ActionColliderFrameEditor.cs
parentad950c25abdf7f5a2f0428863d4035e9eb168fd5 (diff)
*rename
Diffstat (limited to 'Assets/Tools/ActionTool/Editor/ActionColliderFrameEditor.cs')
-rw-r--r--Assets/Tools/ActionTool/Editor/ActionColliderFrameEditor.cs109
1 files changed, 109 insertions, 0 deletions
diff --git a/Assets/Tools/ActionTool/Editor/ActionColliderFrameEditor.cs b/Assets/Tools/ActionTool/Editor/ActionColliderFrameEditor.cs
new file mode 100644
index 00000000..4efd1f93
--- /dev/null
+++ b/Assets/Tools/ActionTool/Editor/ActionColliderFrameEditor.cs
@@ -0,0 +1,109 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEditor;
+
+namespace ActionTool
+{
+
+ // 编辑collider帧
+ public class ActionColliderFrameEditor : EditorWindow
+ {
+ EditorWindow sceneView;
+
+ private void OnEnable()
+ {
+ titleContent = new GUIContent("Collider Frame Editor");
+ maxSize = new Vector2(300, 180);
+ minSize = maxSize;
+
+ if(!sceneView)
+ sceneView = EditorWindow.GetWindow<SceneView>();
+ }
+
+ private void OnDisable()
+ {
+ // sceneView = null;
+ ActionManager.OnSelectColliderFrame(null);
+ }
+
+ private void Update()
+ {
+ }
+
+ private void OnGUI()
+ {
+ var frame = ActionManager.editColliderFrame;
+ if (frame == null)
+ {
+ this.Close();
+ return;
+ }
+
+ GUI.changed = false;
+
+ GUILayout.Space(5);
+
+ EditorGUILayout.BeginHorizontal();
+ EditorGUILayout.LabelField("frame: ");
+ EditorGUILayout.LabelField(frame.frame.ToString());
+ EditorGUILayout.EndHorizontal();
+
+ EditorGUILayout.BeginHorizontal();
+ EditorGUILayout.LabelField("active: ");
+ frame.active = EditorGUILayout.Toggle(frame.active);
+ EditorGUILayout.EndHorizontal();
+
+ EditorGUILayout.LabelField("position: ");
+ frame.position = EditorGUILayout.Vector3Field("", frame.position);
+
+ EditorGUILayout.LabelField("size: ");
+ frame.size = EditorGUILayout.Vector3Field("", frame.size);
+
+ GUILayout.Space(10);
+
+ GUILayout.BeginHorizontal();
+
+ if(GUILayout.Button("Left abit"))
+ {
+ ActionData action = ActionManager.actionData;
+ float normaltime = frame.frame / action.totalFrame;
+ action.curAnimTimeNormal = normaltime - 0.001f;
+ }
+
+ if (GUILayout.Button("Right abit"))
+ {
+ ActionData action = ActionManager.actionData;
+ float normaltime = frame.frame / action.totalFrame;
+ action.curAnimTimeNormal = normaltime + 0.001f;
+ }
+
+ if (GUILayout.Button("Current"))
+ {
+ ActionData action = ActionManager.actionData;
+ float normaltime = frame.frame / action.totalFrame;
+ action.curAnimTimeNormal = normaltime;
+ }
+
+ GUILayout.EndHorizontal();
+
+ GUILayout.Space(10);
+
+ Color prevColor = GUI.backgroundColor;
+ GUI.backgroundColor = Color.red;
+ if (GUILayout.Button("Delete"))
+ {
+ ActionManager.DeleteCurFrame();
+ }
+ GUI.backgroundColor = prevColor;
+
+ if (GUI.changed)
+ {
+ if (sceneView != null)
+ sceneView.Repaint();
+ if (ActionManager.PreviewWindow != null)
+ ActionManager.PreviewWindow.Repaint();
+ }
+ }
+ }
+} \ No newline at end of file