From 567fc2da0b5367cbbe59ea5fb3596802c2aa7a43 Mon Sep 17 00:00:00 2001 From: chai Date: Thu, 29 Jul 2021 18:47:06 +0800 Subject: +collider editor --- .../ActionTool/Editor/ActionColliderFrameEditor.cs | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Assets/ActionTool/Editor/ActionColliderFrameEditor.cs (limited to 'Assets/ActionTool/Editor/ActionColliderFrameEditor.cs') diff --git a/Assets/ActionTool/Editor/ActionColliderFrameEditor.cs b/Assets/ActionTool/Editor/ActionColliderFrameEditor.cs new file mode 100644 index 00000000..4f716be3 --- /dev/null +++ b/Assets/ActionTool/Editor/ActionColliderFrameEditor.cs @@ -0,0 +1,82 @@ +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, 150); + minSize = maxSize; + + if(!sceneView) + sceneView = EditorWindow.GetWindow(); + } + + 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); + + 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 -- cgit v1.1-26-g67d0