using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; namespace ActionTool { // 编辑collider帧 public class ActionColliderEditor : EditorWindow { EditorWindow sceneView; private void OnEnable() { titleContent = new GUIContent("Collider 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(); } } } }