public static void DrawCurve(this OutputPin outputPin, Vector2 offSet, Vector2 targetPosition) { Rect rect = outputPin.m_rect; Vector3 startPosition = rect.position + Vector2.Scale(rect.size, new Vector2(1.0f, 0.5f)) + offSet; Vector3 endPosition = targetPosition; Vector3 startTangente = startPosition + Vector3.right * 50; Vector3 endTangente = endPosition + Vector3.left * 50; Handles.DrawBezier(startPosition, endPosition, startTangente, endTangente, Color.black, null, 2); }
public static void DrawCurve(this OutputPin outputPin, Vector2 offSet) { Rect outputPinRect = outputPin.m_rect; Vector3 startPosition = outputPinRect.position + Vector2.Scale(outputPinRect.size, new Vector2(1.0f, 0.5f)) + offSet; Vector3 startTangente = startPosition + Vector3.right * 50; foreach (var inputPin in outputPin.m_inputs) { Rect inputPinRect = inputPin.m_rect; Vector3 endPosition = inputPinRect.position + Vector2.Scale(inputPinRect.size, new Vector2(0.0f, 0.5f)) + offSet; Vector3 endTangente = endPosition + Vector3.left * 50; Handles.DrawBezier(startPosition, endPosition, startTangente, endTangente, Color.black, null, 2); } }