Vector2 GetConnectedInPortPosition(Connection connection) { var sourcePos = connection.sourceNode.nodeRect.center; var thisPos = nodeRect.center; if (sourcePos.x > nodeRect.x && sourcePos.x < nodeRect.xMax) return new Vector2(nodeRect.center.x, nodeRect.y); //return new Vector2(nodeRect.xMax, nodeRect.y + 10); if (sourcePos.y > nodeRect.y - 100 && sourcePos.y < nodeRect.yMax){ if (sourcePos.x <= thisPos.x) return new Vector2(nodeRect.x, nodeRect.y + 10); if (sourcePos.x > thisPos.x) return new Vector2(nodeRect.xMax, nodeRect.y + 10); } if (sourcePos.y <= thisPos.y) return new Vector2(nodeRect.center.x, nodeRect.y); if (sourcePos.y > thisPos.y) return new Vector2(nodeRect.center.x, nodeRect.yMax); return thisPos; }