Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void OnSceneGUI()
- {
- path = target as AIPatrolPath;
- handleTransform = path.transform;
- DrawPath(path.GetPath);
- }
- private void DrawPath(List<PathNode> nodes)
- {
- // Do not draw empty path
- if (nodes.Count == 0) return;
- // Setup drawing properties
- Handles.color = Color.white;
- PathNode lastNode = nodes[0];
- nodes.ForEach(node =>
- {
- Vector3 p0 = handleTransform.TransformPoint(lastNode.position);
- Vector3 p1 = handleTransform.TransformPoint(node.position);
- Debug.Log("Before handles " + node.position);
- Handles.DrawAAPolyLine(10f, p0, p1);
- // Handle node move
- EditorGUI.BeginChangeCheck();
- p1 = Handles.DoPositionHandle(p1, Quaternion.identity);
- if (EditorGUI.EndChangeCheck())
- {
- Undo.RecordObject(path, "Move Node");
- EditorUtility.SetDirty(path);
- node.position = handleTransform.InverseTransformPoint(p1);
- Debug.Log("After handles " + node.position);
- }
- lastNode = node;
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement