private void AddContolPoint(Event currentEvent, CableSpline cable, InScenePosition inScenePosition) { var lastPoint = cable.ControlPoints.Last(); var lastPointPosition = cable.transform.position + lastPoint.Position; if (inScenePosition.IsInCable) { if (currentEvent.type == EventType.MouseDown) { Undo.RecordObject(cable, "Inserted control point"); cable.InsertControlPoint(inScenePosition.ControlPoints, inScenePosition.Position); currentEvent.Use(); } } else { Handles.DrawLine(lastPointPosition, inScenePosition.Position); if (currentEvent.type == EventType.MouseDown) { Undo.RecordObject(cable, "Added additional control point"); cable.AddControlPoint(inScenePosition.Position); currentEvent.Use(); } } }
private void RemoveControlPoint(Event currentEvent, CableSpline cable, InScenePosition inScenePosition) { if (currentEvent.type == EventType.MouseDown) { Undo.RecordObject(cable, "Removed control point"); cable.RemoveControlPoint(inScenePosition.ControlPoints.First); currentEvent.Use(); } }