示例#1
0
 public void ReturnLine(TGridController tGrid)
 {
     tGrid.grid.SetActive(false);
     SetPrevLineID(tGrid.id);
     tGridPool.ReturnObject(tGrid);
     tGrids.Remove(tGrid);
 }
示例#2
0
    private void InitTGridObject(TGridId id)
    {
        TGridController tGrid = tGridPool.GetObject();

        tGrids.Add(tGrid);
        tGrid.grid.SetActive(true);
        tGrid.Activate(id, TGridTime(id), this);
    }
示例#3
0
 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);
     }
 }
示例#4
0
 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;
 }
示例#5
0
    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);
    }