public void RecycleGameObjectDelay(GameObject pooledGameObject, int delayMillSeconds, CGameObjectPool.OnDelayRecycleDelegate callback = null, float[] objSize = null, Vector3[] objScale = null)
 {
     CGameObjectPool.stDelayRecycle stDelayRecycle = new CGameObjectPool.stDelayRecycle();
     stDelayRecycle.recycleObj  = pooledGameObject;
     stDelayRecycle.recycleTime = (int)(Time.time * 1000f) + delayMillSeconds;
     stDelayRecycle.objSize     = objSize;
     stDelayRecycle.objScale    = objScale;
     stDelayRecycle.callback    = callback;
     if (this.m_delayRecycle.get_Count() == 0)
     {
         this.m_delayRecycle.AddLast(stDelayRecycle);
         return;
     }
     for (LinkedListNode <CGameObjectPool.stDelayRecycle> linkedListNode = this.m_delayRecycle.get_Last(); linkedListNode != null; linkedListNode = linkedListNode.get_Previous())
     {
         if (linkedListNode.get_Value().recycleTime < stDelayRecycle.recycleTime)
         {
             this.m_delayRecycle.AddAfter(linkedListNode, stDelayRecycle);
             return;
         }
     }
     this.m_delayRecycle.AddFirst(stDelayRecycle);
 }
Beispiel #2
0
 public void RecycleGameObjectDelay(GameObject pooledGameObject, int delayMillSeconds, CGameObjectPool.OnDelayRecycleDelegate callback = null)
 {
     CGameObjectPool.stDelayRecycle stDelayRecycle = new CGameObjectPool.stDelayRecycle();
     stDelayRecycle.recycleObj  = pooledGameObject;
     stDelayRecycle.recycleTime = (int)(Time.time * 1000f) + delayMillSeconds;
     stDelayRecycle.callback    = callback;
     if (this.m_delayRecycle.Count == 0)
     {
         this.m_delayRecycle.AddLast(stDelayRecycle);
         return;
     }
     for (LinkedListNode <CGameObjectPool.stDelayRecycle> linkedListNode = this.m_delayRecycle.Last; linkedListNode != null; linkedListNode = linkedListNode.Previous)
     {
         if (linkedListNode.Value.recycleTime < stDelayRecycle.recycleTime)
         {
             this.m_delayRecycle.AddAfter(linkedListNode, stDelayRecycle);
             return;
         }
     }
     this.m_delayRecycle.AddFirst(stDelayRecycle);
 }