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