public int AddPoint(Vector2 point, int insertPoint)
{
if (insertPoint < 0 || insertPoint > _points.Count - 1)
{
Vector3 p = transform.InverseTransformPoint(point.ToVector3(_yPosition));
Vector2 pos = new Vector2(p.x, p.z);
KeyValuePair<Vector2, Vector2> values = new KeyValuePair<Vector2,Vector2>(pos, pos);
_startEndPoints.Add(values);
_points.Add(pos);
}
else
{
Vector3 p = transform.InverseTransformPoint(point.ToVector3(_yPosition));
Vector2 pos = new Vector2(p.x, p.z);
KeyValuePair<Vector2, Vector2> values = new KeyValuePair<Vector2, Vector2>(pos, pos);
_startEndPoints.Insert(insertPoint, values);
_points.Insert(insertPoint, pos);
}
return (insertPoint < 0 || insertPoint > _points.Count - 1) ? _points.Count - 1 : insertPoint;
}