using AlicizaX.ObjectPool; using UnityEngine; namespace AlicizaX { /// /// 对象池组件。 /// public sealed class ObjectPoolComponent : MonoBehaviour { private IObjectPoolModule _mObjectPoolModule = null; /// /// 获取对象池数量。 /// public int Count { get { return _mObjectPoolModule.Count; } } private void Awake() { _mObjectPoolModule = ModuleSystem.RegisterModule(typeof(ObjectPoolModule)); if (_mObjectPoolModule == null) { Log.Error("Object pool manager is invalid."); return; } } private void OnDestroy() { _mObjectPoolModule = null; } /// /// 获取所有对象池。 /// /// 是否根据对象池的优先级排序。 /// 所有对象池。 public ObjectPoolBase[] GetAllObjectPools(bool sort) { return _mObjectPoolModule.GetAllObjectPools(sort); } } }