public void ShowLines() { bool shouldReinitialize = curves.Count == 0; //first startup + setup objects for (int i = 0; i < points.Length; i++) { BezierCurve c = null; if (shouldReinitialize) { //curve object c = Instantiate(curvePrefab, root); curves.Add(c); //3d model c.InstantiateModel(points[i].selectedPrefab); } else { c = curves[i]; } c.transform.localEulerAngles = points[i].eulerAngles; levelSelector.AddLevel(points[i]); if (i == 0) { continue; } c.Setup(curves[i - 1].GetLookAtPosition()); c.ShowLine(root.position, lineDefinition); } }