private List <List <int> > GetSegments(List <Vector2> aPath, out List <Ferr2DT_TerrainDirection> aSegDirections)
    {
        List <List <int> > segments = new List <List <int> >();

        if (splitCorners)
        {
            segments = Ferr2D_Path.GetSegments(aPath, out aSegDirections, directionOverrides,
                                               fill == Ferr2DT_FillMode.InvertedClosed,
                                               GetComponent <Ferr2D_Path>().closed);
        }
        else
        {
            aSegDirections = new List <Ferr2DT_TerrainDirection>();
            aSegDirections.Add(Ferr2DT_TerrainDirection.Top);
            List <int> seg = new List <int>();
            for (int i = 0; i < aPath.Count; i++)
            {
                seg.Add(i);
            }
            segments.Add(seg);
        }
        if (Path.closed)
        {
            Ferr2D_Path.CloseEnds(aPath, ref segments, ref aSegDirections, splitCorners, fill == Ferr2DT_FillMode.InvertedClosed);
        }
        return(segments);
    }
Beispiel #2
0
    private List <List <Vector2> > GetSegments(List <Vector2> aPath, out List <Ferr2DT_TerrainDirection> aSegDirections)
    {
        List <List <Vector2> > segments = new List <List <Vector2> >();

        if (splitCorners)
        {
            segments = Ferr2D_Path.GetSegments(aPath, out aSegDirections, directionOverrides,
                                               fill == Ferr2DT_FillMode.InvertedClosed,
                                               GetComponent <Ferr2D_Path>().closed);
        }
        else
        {
            aSegDirections = new List <Ferr2DT_TerrainDirection>();
            aSegDirections.Add(Ferr2DT_TerrainDirection.Top);
            segments.Add(aPath);
        }
        if (path.closed && smoothPath == false)
        {
            Ferr2D_Path.CloseEnds(ref segments, splitCorners);
        }
        return(segments);
    }