ObjectPool<T> Class

Summary

A simple object pooling system.
graph BT Type-->Base0["Object"] Type["ObjectPool<T>"] class Type type-node Derived0["FadeGroup.Pool"]-->Type click Derived0 "/animancer/api/Animancer/Pool" Derived1["CloneContext.Pool"]-->Type click Derived1 "/animancer/api/Animancer/Pool" Derived2["PooledGUIContent.Pool"]-->Type click Derived2 "/animancer/api/Animancer.Editor/Pool" Derived3["StringBuilderPool"]-->Type click Derived3 "/animancer/api/Animancer/StringBuilderPool" Derived4["CollectionPool<TItem, TCollection>"]-->Type click Derived4 "/animancer/api/Animancer/CollectionPool_2"

Syntax

public class ObjectPool<T> where T : class

Remarks

T must not inherit from UnityEngine.Component or UnityEngine.ScriptableObject.

Type Parameters

Name Description
T

Constructors

Name Summary
ObjectPool() Creates a new Animancer.ObjectPool`1 and asserts that there isn't a more derived type which should be used instead.

Fields

Name Constant Value Summary
NotResetError It must be reset to its default values before being released to the pool and not modified after that.
An error message for when something has been modified after being released to the pool.
static

Properties

Name Value Summary
Capacity int
The System.Collections.Generic.List`1.Capacity of the internal list of spare items.
Count int
The number of spare items currently in this pool.
DefaultInstance ObjectPool<T>
Returns the Animancer.Static`1.Instance.
static

Methods

Name Value Summary
Acquire() T
Returns a spare item if there are any, or creates a new one.
Acquire(T) ObjectPool<T>.Disposable
Creates a new Animancer.ObjectPool`1.Disposable and calls Animancer.ObjectPool`1.Acquire to set the Animancer.ObjectPool`1.Disposable.Item and `item`.
IncreaseCapacityTo(int) void
Increases the Animancer.ObjectPool`1.Capacity to equal the `capacity` if it was lower.
IncreaseCountTo(int) void
Increases the Animancer.ObjectPool`1.Count to equal the `count` if it was lower.
New() T
Creates a new() instance of T.
Release(T) void
Adds the `item` to the list of spares so it can be reused.
Release(T) void
Adds the `item` to the list of spares so it can be reused and sets it to null.
ToString() string
Returns a description of the state of this pool.