public void SetLinked(SimpleBezier previous)
    {
        linkedWith = previous;

        previous.HideEndPoint        = true;
        previous.Parameters.EndPoint = Parameters.StartPoint;
        previous.CalculateSplinePoints();
        CalculateSplinePoints();
    }
    public void AddBezier()
    {
        if (bezierPrefab == null)
        {
            bezierPrefab = Resources.Load("Prefabs/Bezier") as GameObject;
        }

        GameObject bezierObject = Instantiate <GameObject>(bezierPrefab);

        bezierObject.transform.parent = this.transform;

        if (Beziers.Count == 0)
        {
            //create list and add object as first bezier curve
            Beziers = new List <SimpleBezier>();

            SimpleBezier bezier = bezierObject.GetComponent <SimpleBezier>();
            Beziers.Add(bezier);

            bezier.SetCreator(this);
            bezier.CalculateSplinePoints();
        }
        else
        {
            SimpleBezier previous = Beziers[Beziers.Count - 1];
            //add as second item, connect start point with end point of previous spline
            SimpleBezier bezier = bezierObject.GetComponent <SimpleBezier>();
            Beziers.Add(bezier);

            //use the same interpolation steps
            bezier.InterpolationSteps = previous.InterpolationSteps;

            bezier.MoveToPosition(previous.Parameters.EndPoint.x, previous.Parameters.EndPoint.z);
            bezier.SetLinked(previous);
            bezier.SetCreator(this);
        }
    }