Ejemplo n.º 1
0
    public void RemovePoolItem(CSObjectPoolItem item, bool isDestroyResImmi = false, EPoolItemRemoveMethod removeMethod = EPoolItemRemoveMethod.OnDisEnable)
    {
        if (item == null)
        {
            return;
        }

        if (item.owner != null)
        {
            CSObjectPoolBase pool = item.owner;

            if (pool != null)
            {
                pool.RemovePoolItem(item, isDestroyResImmi);
            }
            else
            {
                GameObject.Destroy(item.go);
                item.go = null;
            }
        }
        else
        {
            if (item.go != null)
            {
                GameObject.Destroy(item.go);
                item.go = null;
            }
        }
    }
Ejemplo n.º 2
0
 /// <summary>
 /// 设置放入对象池的时间
 /// </summary>
 /// <param name="mPoolItem"></param>
 /// <param name="time">秒</param>
 public void SetPoolRemoveTime(CSObjectPoolItem mPoolItem, float time, EPoolItemRemoveMethod removeMethod = EPoolItemRemoveMethod.OnDisEnable)
 {
     if (mPoolItem == null)
     {
         return;
     }
     mPoolItem.RemoveTime = Time.time + time;
     WaitRemoveList.Add(mPoolItem);
 }