public void ReturnLine(TGridController tGrid) { tGrid.grid.SetActive(false); SetPrevLineID(tGrid.id); tGridPool.ReturnObject(tGrid); tGrids.Remove(tGrid); }
private void InitTGridObject(TGridId id) { TGridController tGrid = tGridPool.GetObject(); tGrids.Add(tGrid); tGrid.grid.SetActive(true); tGrid.Activate(id, TGridTime(id), this); }
public void Initialize() { while (pooledObjects.Count < pooledAmount) { Line grid = Utility.DrawLineInWorldSpace(Vector3.zero, Vector3.up, Color.white, 0.035f); grid.transform.SetParent(parent); grid.gameObject.AddComponent <TGridController>(); TGridController lineObject = grid.gameObject.GetComponent <TGridController>(); lineObject.grid = grid; pooledObjects.Add(lineObject); grid.SetActive(false); objectAvailable.Add(true); } }
public void ReturnObject(TGridController returnObject) { for (int i = 0; i < pooledObjects.Count; i++) { if (pooledObjects[i] == returnObject) { returnObject.gameObject.SetActive(false); objectAvailable[i] = true; return; } } Debug.LogError("Try to return an object that's not from the pool. Destroying the object."); Destroy(returnObject.gameObject); return; }
public TGridController GetObject() { for (int i = 0; i < pooledObjects.Count; i++) { if (objectAvailable[i]) { objectAvailable[i] = false; return(pooledObjects[i]); } } Line grid = Utility.DrawLineInWorldSpace(Vector3.zero, Vector3.up, Color.white, 0.035f); grid.transform.SetParent(parent); grid.gameObject.AddComponent <TGridController>(); TGridController lineObject = grid.gameObject.GetComponent <TGridController>(); lineObject.grid = grid; pooledObjects.Add(lineObject); grid.SetActive(false); objectAvailable.Add(false); return(lineObject); }