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; } } }
/// <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); }