示例
private void DrawConnectionLine(RoomNodeSO parentRoomNode, RoomNodeSO childRoomNodeSO)
{
Vector2 startPosition = parentRoomNode.rect.center;
Vector2 endPosition = childRoomNodeSO.rect.center;
Vector2 midPosition = (endPosition + startPosition) / 2; //中间的位置
Vector2 direction = endPosition - startPosition; //方向
Vector2 arrowTailPoint1 = midPosition - new Vector2(-direction.y, direction.x).normalized * connectingLineArrowSize; //右边 arrowTailPoint1 arrowTailPoint2和中间点的连线90度
Vector2 arrowTailPoint2 = midPosition + new Vector2(-direction.y, direction.x).normalized * connectingLineArrowSize;//左边 arrowTailPoint1 arrowTailPoint2和中间点的连线90度
Vector2 arrowHeadPoint = midPosition + direction.normalized * connectingLineArrowSize;
//箭头交汇点
Handles.DrawBezier(arrowHeadPoint, arrowTailPoint1, arrowHeadPoint, arrowTailPoint1, Color.white, null, connectingLineWidth);//画线1
Handles.DrawBezier(arrowHeadPoint, arrowTailPoint2, arrowHeadPoint, arrowTailPoint2, Color.white, null, connectingLineWidth);//画线2
Handles.DrawBezier(startPosition, endPosition, startPosition, endPosition, Color.white, null, connectingLineWidth);
GUI.changed = true;
}