1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
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()
{
Vector3 pos3d = m_TopDownTransform.GetProjectedPosition();
float arrowSize = 2f;
Handles.color = Handles.xAxisColor;
m_TopDownTransform.x += EditorHandlesHelper.PositionArrow(pos3d + new Vector3(0, -m_TopDownTransform.z, 0), Vector3.right, 1f, arrowSize).x;
Handles.color = Handles.yAxisColor;
m_TopDownTransform.y -= EditorHandlesHelper.PositionArrow(pos3d + new Vector3(0, -m_TopDownTransform.z, 0), Vector3.up, 1f, arrowSize).y;
Handles.color = Handles.zAxisColor;
m_TopDownTransform.z -= EditorHandlesHelper.PositionArrow(pos3d /*+ new Vector3(-0.3f, 0, 0)*/, Vector3.up, 1.4f, arrowSize).y;
}
}
|