/// <summary> /// 回收所有正在使用的对象。 /// </summary> public void RecycleAll() { while (InUseObjects.Count > 0) { var obj = InUseObjects.Dequeue(); Put(obj); } }
/// <summary> /// 清理所有缓存的对象。 /// </summary> public void Clear() { while (AvailiableObjects.Count > 0) { UnityEngine.Object.Destroy(AvailiableObjects.Dequeue()); } while (InUseObjects.Count > 0) { UnityEngine.Object.Destroy(InUseObjects.Dequeue()); } }
/// <summary> /// 获取所有正在使用中的对象。 /// </summary> /// <returns></returns> public GameObject[] GetInUseObjects() { return(InUseObjects.ToArray()); }