|
|
- using UnityEditor;
- using UnityEngine;
-
- [CustomEditor(typeof(Line))]
- public class LineInspector : Editor {
-
- private void OnSceneGUI () {
- Line line = target as Line;
- Transform handleTransform = line.transform;
- Quaternion handleRotation = Tools.pivotRotation == PivotRotation.Local ? handleTransform.rotation : Quaternion.identity;
- Vector3 p0 = handleTransform.TransformPoint(line.p0);
- Vector3 p1 = handleTransform.TransformPoint(line.p1);
-
- Handles.color = Color.white;
- Handles.DrawLine(p0, p1);
- EditorGUI.BeginChangeCheck();
- p0 = Handles.DoPositionHandle(p0, handleRotation);
- if (EditorGUI.EndChangeCheck()) {
- Undo.RecordObject(line, "Move Point");
- EditorUtility.SetDirty(line);
- line.p0 = handleTransform.InverseTransformPoint(p0);
- }
- EditorGUI.BeginChangeCheck();
- p1 = Handles.DoPositionHandle(p1, handleRotation);
- if (EditorGUI.EndChangeCheck()) {
- Undo.RecordObject(line, "Move Point");
- EditorUtility.SetDirty(line);
- line.p1 = handleTransform.InverseTransformPoint(p1);
- }
- }
- }
|