public SimPoint SplitSegment(SimSegmentPosition positionToSplit) { if (positionToSplit.offset == 0) { return(positionToSplit.segment.point1); } else if (positionToSplit.offset == 1) { return(positionToSplit.segment.point2); } SimPoint newPoint = AddPoint(positionToSplit.WorldPosition); AddSegment(positionToSplit.segment.segmentType, newPoint, positionToSplit.segment.point2); positionToSplit.segment.ChangePoint2(newPoint); pathListener.OnSegmentModified(this, positionToSplit.segment); return(newPoint); }
public SimUnit AddUnit(SimUnitType unitType, SimSegmentPosition position) { SimPoint newPoint = position.segment.path.SplitSegment(position); return(AddUnit(unitType, newPoint)); }