public LineRenderer NextFreeLineRenderer() { GameObject lineRendererObject = null; LineRenderer lineRenderer = null; if (FreeLineRenderObjects.Count > 0) { lineRendererObject = FreeLineRenderObjects[0]; FreeLineRenderObjects.RemoveAt(0); lineRendererObject.SetActive(true); lineRenderer = lineRendererObject.GetComponent <LineRenderer>(); } else { lineRendererObject = new GameObject(); lineRenderer = lineRendererObject.AddComponent <LineRenderer>(); InitLineRenderer(lineRenderer); } if (lineRendererObject) { ActiveLineRenderObjects.Add(lineRendererObject); } return(lineRenderer); }
public void FreeAllLines() { foreach (var line in ActiveLineRenderObjects) { line.SetActive(false); FreeLineRenderObjects.Add(line); } ActiveLineRenderObjects.Clear(); }