using Axibug;
using Axibug.ObjectPool;
using System;
using System.Collections.Generic;
using UnityEngine;
namespace Axibug.Runtime
{
///
/// 对象池组件。
///
[DisallowMultipleComponent]
[AddComponentMenu("Axibug/Object Pool")]
public sealed class ObjectPoolComponent : GameComponent
{
private IObjectPoolManager m_ObjectPoolManager = null;
///
/// 获取对象池数量。
///
public int Count
{
get
{
return m_ObjectPoolManager.Count;
}
}
///
/// 游戏框架组件初始化。
///
protected override void Awake()
{
base.Awake();
m_ObjectPoolManager = FrameworkEntry.GetModule();
if (m_ObjectPoolManager == null)
{
Log.Fatal("Object pool manager is invalid.");
return;
}
}
private void Start()
{
}
///
/// 检查是否存在对象池。
///
/// 对象类型。
/// 是否存在对象池。
public bool HasObjectPool() where T : ObjectBase
{
return m_ObjectPoolManager.HasObjectPool();
}
///
/// 检查是否存在对象池。
///
/// 对象类型。
/// 是否存在对象池。
public bool HasObjectPool(Type objectType)
{
return m_ObjectPoolManager.HasObjectPool(objectType);
}
///
/// 检查是否存在对象池。
///
/// 对象类型。
/// 对象池名称。
/// 是否存在对象池。
public bool HasObjectPool(string name) where T : ObjectBase
{
return m_ObjectPoolManager.HasObjectPool(name);
}
///
/// 检查是否存在对象池。
///
/// 对象类型。
/// 对象池名称。
/// 是否存在对象池。
public bool HasObjectPool(Type objectType, string name)
{
return m_ObjectPoolManager.HasObjectPool(objectType, name);
}
///
/// 检查是否存在对象池。
///
/// 要检查的条件。
/// 是否存在对象池。
public bool HasObjectPool(Predicate condition)
{
return m_ObjectPoolManager.HasObjectPool(condition);
}
///
/// 获取对象池。
///
/// 对象类型。
/// 要获取的对象池。
public IObjectPool GetObjectPool() where T : ObjectBase
{
return m_ObjectPoolManager.GetObjectPool();
}
///
/// 获取对象池。
///
/// 对象类型。
/// 要获取的对象池。
public ObjectPoolBase GetObjectPool(Type objectType)
{
return m_ObjectPoolManager.GetObjectPool(objectType);
}
///
/// 获取对象池。
///
/// 对象类型。
/// 对象池名称。
/// 要获取的对象池。
public IObjectPool GetObjectPool(string name) where T : ObjectBase
{
return m_ObjectPoolManager.GetObjectPool(name);
}
///
/// 获取对象池。
///
/// 对象类型。
/// 对象池名称。
/// 要获取的对象池。
public ObjectPoolBase GetObjectPool(Type objectType, string name)
{
return m_ObjectPoolManager.GetObjectPool(objectType, name);
}
///
/// 获取对象池。
///
/// 要检查的条件。
/// 要获取的对象池。
public ObjectPoolBase GetObjectPool(Predicate condition)
{
return m_ObjectPoolManager.GetObjectPool(condition);
}
///
/// 获取对象池。
///
/// 要检查的条件。
/// 要获取的对象池。
public ObjectPoolBase[] GetObjectPools(Predicate condition)
{
return m_ObjectPoolManager.GetObjectPools(condition);
}
///
/// 获取对象池。
///
/// 要检查的条件。
/// 要获取的对象池。
public void GetObjectPools(Predicate condition, List results)
{
m_ObjectPoolManager.GetObjectPools(condition, results);
}
///
/// 获取所有对象池。
///
public ObjectPoolBase[] GetAllObjectPools()
{
return m_ObjectPoolManager.GetAllObjectPools();
}
///
/// 获取所有对象池。
///
/// 所有对象池。
public void GetAllObjectPools(List results)
{
m_ObjectPoolManager.GetAllObjectPools(results);
}
///
/// 获取所有对象池。
///
/// 是否根据对象池的优先级排序。
/// 所有对象池。
public ObjectPoolBase[] GetAllObjectPools(bool sort)
{
return m_ObjectPoolManager.GetAllObjectPools(sort);
}
///
/// 获取所有对象池。
///
/// 是否根据对象池的优先级排序。
/// 所有对象池。
public void GetAllObjectPools(bool sort, List results)
{
m_ObjectPoolManager.GetAllObjectPools(sort, results);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool() where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool();
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(string name) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(name);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, name);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(int capacity) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(capacity);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, capacity);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池对象过期秒数。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(float expireTime) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(expireTime);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池对象过期秒数。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, float expireTime)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, expireTime);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(string name, int capacity) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(name, capacity);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, name, capacity);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池对象过期秒数。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(string name, float expireTime) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(name, expireTime);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池对象过期秒数。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, float expireTime)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, name, expireTime);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(int capacity, float expireTime) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(capacity, expireTime);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity, float expireTime)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, capacity, expireTime);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(int capacity, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(capacity, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity, int priority)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, capacity, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(float expireTime, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(expireTime, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, float expireTime, int priority)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, expireTime, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(string name, int capacity, float expireTime) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(name, capacity, expireTime);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity, float expireTime)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, name, capacity, expireTime);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(string name, int capacity, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(name, capacity, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity, int priority)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, name, capacity, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(string name, float expireTime, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(name, expireTime, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, float expireTime, int priority)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, name, expireTime, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(int capacity, float expireTime, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(capacity, expireTime, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, int capacity, float expireTime, int priority)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, capacity, expireTime, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(string name, int capacity, float expireTime, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(name, capacity, expireTime, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, int capacity, float expireTime, int priority)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, name, capacity, expireTime, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池自动释放可释放对象的间隔秒数。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public IObjectPool CreateSingleSpawnObjectPool(string name, float autoReleaseInterval, int capacity, float expireTime, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(name, autoReleaseInterval, capacity, expireTime, priority);
}
///
/// 创建允许单次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池自动释放可释放对象的间隔秒数。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许单次获取的对象池。
public ObjectPoolBase CreateSingleSpawnObjectPool(Type objectType, string name, float autoReleaseInterval, int capacity, float expireTime, int priority)
{
return m_ObjectPoolManager.CreateSingleSpawnObjectPool(objectType, name, autoReleaseInterval, capacity, expireTime, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool() where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool();
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(string name) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(name);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, name);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(int capacity) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(capacity);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, capacity);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池对象过期秒数。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(float expireTime) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(expireTime);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池对象过期秒数。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, float expireTime)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, expireTime);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(string name, int capacity) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(name, capacity);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, name, capacity);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池对象过期秒数。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(string name, float expireTime) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(name, expireTime);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池对象过期秒数。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, float expireTime)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, name, expireTime);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(int capacity, float expireTime) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(capacity, expireTime);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity, float expireTime)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, capacity, expireTime);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(int capacity, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(capacity, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity, int priority)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, capacity, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(float expireTime, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(expireTime, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, float expireTime, int priority)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, expireTime, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(string name, int capacity, float expireTime) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(name, capacity, expireTime);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity, float expireTime)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, name, capacity, expireTime);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(string name, int capacity, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(name, capacity, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity, int priority)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, name, capacity, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(string name, float expireTime, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(name, expireTime, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, float expireTime, int priority)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, name, expireTime, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(int capacity, float expireTime, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(capacity, expireTime, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, int capacity, float expireTime, int priority)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, capacity, expireTime, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(string name, int capacity, float expireTime, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(name, capacity, expireTime, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, int capacity, float expireTime, int priority)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, name, capacity, expireTime, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池自动释放可释放对象的间隔秒数。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public IObjectPool CreateMultiSpawnObjectPool(string name, float autoReleaseInterval, int capacity, float expireTime, int priority) where T : ObjectBase
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(name, autoReleaseInterval, capacity, expireTime, priority);
}
///
/// 创建允许多次获取的对象池。
///
/// 对象类型。
/// 对象池名称。
/// 对象池自动释放可释放对象的间隔秒数。
/// 对象池的容量。
/// 对象池对象过期秒数。
/// 对象池的优先级。
/// 要创建的允许多次获取的对象池。
public ObjectPoolBase CreateMultiSpawnObjectPool(Type objectType, string name, float autoReleaseInterval, int capacity, float expireTime, int priority)
{
return m_ObjectPoolManager.CreateMultiSpawnObjectPool(objectType, name, autoReleaseInterval, capacity, expireTime, priority);
}
///
/// 销毁对象池。
///
/// 对象类型。
/// 是否销毁对象池成功。
public bool DestroyObjectPool() where T : ObjectBase
{
return m_ObjectPoolManager.DestroyObjectPool();
}
///
/// 销毁对象池。
///
/// 对象类型。
/// 是否销毁对象池成功。
public bool DestroyObjectPool(Type objectType)
{
return m_ObjectPoolManager.DestroyObjectPool(objectType);
}
///
/// 销毁对象池。
///
/// 对象类型。
/// 要销毁的对象池名称。
/// 是否销毁对象池成功。
public bool DestroyObjectPool(string name) where T : ObjectBase
{
return m_ObjectPoolManager.DestroyObjectPool(name);
}
///
/// 销毁对象池。
///
/// 对象类型。
/// 要销毁的对象池名称。
/// 是否销毁对象池成功。
public bool DestroyObjectPool(Type objectType, string name)
{
return m_ObjectPoolManager.DestroyObjectPool(objectType, name);
}
///
/// 销毁对象池。
///
/// 对象类型。
/// 要销毁的对象池。
/// 是否销毁对象池成功。
public bool DestroyObjectPool(IObjectPool objectPool) where T : ObjectBase
{
return m_ObjectPoolManager.DestroyObjectPool(objectPool);
}
///
/// 销毁对象池。
///
/// 要销毁的对象池。
/// 是否销毁对象池成功。
public bool DestroyObjectPool(ObjectPoolBase objectPool)
{
return m_ObjectPoolManager.DestroyObjectPool(objectPool);
}
///
/// 释放对象池中的可释放对象。
///
public void Release()
{
Log.Info("Object pool release...");
m_ObjectPoolManager.Release();
}
///
/// 释放对象池中的所有未使用对象。
///
public void ReleaseAllUnused()
{
Log.Info("Object pool release all unused...");
m_ObjectPoolManager.ReleaseAllUnused();
}
}
}