Class ObjectPool<T>
Generic object pool.
Namespace: UnityEngine.Rendering
Syntax
public class ObjectPool<T>
where T : new()
Type Parameters
Name | Description |
---|---|
T | Type of the object pool. |
Constructors
ObjectPool(UnityAction<T>, UnityAction<T>, Boolean)
Constructor.
Declaration
public ObjectPool(UnityAction<T> actionOnGet, UnityAction<T> actionOnRelease, bool collectionCheck = true)
Parameters
Type | Name | Description |
---|---|---|
UnityAction<T> | actionOnGet | Action on get. |
UnityAction<T> | actionOnRelease | Action on release. |
Boolean | collectionCheck | True if collection integrity should be checked. |
Properties
countActive
Number of active objects in the pool.
Declaration
public int countActive { get; }
Property Value
Type | Description |
---|---|
Int32 |
countAll
Number of objects in the pool.
Declaration
public int countAll { get; }
Property Value
Type | Description |
---|---|
Int32 |
countInactive
Number of inactive objects in the pool.
Declaration
public int countInactive { get; }
Property Value
Type | Description |
---|---|
Int32 |
Methods
Get()
Get an object from the pool.
Declaration
public T Get()
Returns
Type | Description |
---|---|
T | A new object from the pool. |
Get(out T)
Get et new PooledObject.
Declaration
public ObjectPool<T>.PooledObject Get(out T v)
Parameters
Type | Name | Description |
---|---|---|
T | v | Output new typed object. |
Returns
Type | Description |
---|---|
ObjectPool.PooledObject<> | New PooledObject |
Release(T)
Release an object to the pool.
Declaration
public void Release(T element)
Parameters
Type | Name | Description |
---|---|---|
T | element | Object to release. |