using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEditor; [CustomEditor(typeof(TopDownTransform))] public class TopDownTransformInspector : Editor { TopDownTransform m_TopDownTransform; private void OnEnable() { m_TopDownTransform = target as TopDownTransform; } private void OnDisable() { } public override void OnInspectorGUI() { base.OnInspectorGUI(); } protected override void OnHeaderGUI() { base.OnHeaderGUI(); } //https://answers.unity.com/questions/463207/how-do-you-make-a-custom-handle-respond-to-the-mou.html private void OnSceneGUI() { Handles.color = Handles.xAxisColor; m_TopDownTransform.x = EditorHandlesHelper.ScaleValue(m_TopDownTransform.x, m_TopDownTransform.Get3DPosition(), Vector3.right, 1f, Handles.ConeHandleCap, Quaternion.Euler(0, 90, 0), 1f, 0.1f); Handles.color = Handles.yAxisColor; m_TopDownTransform.y = EditorHandlesHelper.ScaleValue(m_TopDownTransform.y, m_TopDownTransform.Get3DPosition(), Vector3.up, 1f, Handles.ConeHandleCap, Quaternion.Euler(-90, 0, 0), 1f, 0.1f); Handles.color = Handles.zAxisColor; m_TopDownTransform.z = EditorHandlesHelper.ScaleValue(m_TopDownTransform.z, m_TopDownTransform.Get3DPosition() + new Vector3(0, -1.1f, 0), Vector3.up, 1f, Handles.ConeHandleCap, Quaternion.Euler(-90, 0, 0), 1f, 0.1f); } }