示例#1
0
    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));
    }