public virtual bool Contains(LineSegment2D lineSegment) { foreach (AreaPathNode areaPathNode in areaPathNodes) { if (lineSegment.DoIIntersectWithCircle(areaPathNode.trs.position, areaPathNode.radius)) { return(true); } } foreach (LineSegment2D border in borders) { if (lineSegment.DoIIntersectWith(border, true)) { return(true); } } if (Contains(lineSegment.start) || Contains(lineSegment.end)) { return(true); } return(false); }