private void ShowPathGUI(Transform aTransform, Ferr2DPath aPath, SerializedProperty aPathProp) { EventType eType = Event.current.type; Matrix4x4 mat = aTransform.localToWorldMatrix; // show the path and all its standard controls PathEditorUtil.OnSceneGUI(aTransform.localToWorldMatrix, aTransform.worldToLocalMatrix, aPathProp, aPath, true, ProcessNewPoint, ProcessRemovePoint, Path2D.Plane.XY, Ferr2DT_Menu.PathSnapMode, Ferr2DT_Menu.SmartSnap?Ferr2DT_Menu.SmartSnapDist:0, KeyCode.C, visuals); PathEditorUtil.Selection selection = PathEditorUtil.GetSelection(aPath); // find which segments and points are active FindActiveControls(aPath, mat, aTransform.worldToLocalMatrix); if (Ferr2DT_SceneOverlay.segmentLockMode) { ShowTexSegmentSelect(aPath, aPathProp, mat); } else { float currDistance = 0; for (int i = 0; i < aPath.Count; i++) { // show all the data at the control points ShowPointControls(aPath, i, selection, mat, aPathProp); // show midpoint controls currDistance = ShowMidpointControls(aPath, i, selection, mat, aPathProp, currDistance); } } // drag select has to happen last, otherwise it steals control ahead of the other handles ShowDragSelect(aPath, mat); }