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); } }