GameObjectPoolManager Class |
[This is preliminary documentation and is subject to change.]
Namespace: Umbrace.Unity.PurePool
public class GameObjectPoolManager : PoolManagerBase<GameObjectPoolManagerSettings, GameObjectPool, GameObjectPoolSettings, GameObject, GameObject>
The GameObjectPoolManager type exposes the following members.
Name | Description | |
---|---|---|
GameObjectPoolManager | Initializes a new instance of the GameObjectPoolManager class |
Name | Description | |
---|---|---|
AcquireMode |
Gets or sets the way in which to handle attempts to acquire an object, for which no pool exists.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
AttachDescendentPools |
Gets or sets value indicating whether to attach all descendent pools to the manager on startup.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
DefaultPoolSettings |
Gets the settings that are used when a new pool is created.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
DontDestroyOnLoad |
Gets or sets a value indicating whether the pool manager (and the pools beneath it) will remain in the scene when a new scene is loaded.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
Enabled |
Gets or sets a value indicating whether pooling is enabled.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
Instance |
Gets the GameObjectPoolManager found in the scene.
| |
ObjectPools |
When overridden in a derived class, gets the internal object pool dictionary, mapping from the source object to its pool.
(Overrides PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstanceObjectPools.) | |
PoolCount |
Gets the number of pools attached to the manager.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
Pools |
Gets the collection of pools attached to the manager.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) |
Name | Description | |
---|---|---|
Acquire(TSource) |
Acquires an instance of source from an attached pool.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
Acquire(GameObject, Transform) |
Acquires an instance of sourceObject from an attached pool, and sets its parent transform.
| |
Acquire(GameObject, Transform, Boolean) |
Acquires an instance of sourceObject from an attached pool, and sets its parent transform.
| |
Acquire(GameObject, Vector3, Quaternion) |
Acquires an instance of sourceObject from an attached pool, and sets its position and rotation.
| |
Acquire(GameObject, Vector3, Quaternion, Transform) |
Acquires an instance of sourceObject from an attached pool, and sets its parent transform, position and rotation.
| |
AttachPool |
Attaches the specified pool to the manager, allowing the manager to acquire and release instances from it.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
Awake | (Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
CanAcquire |
Determines whether an instance of sourceObject can be acquired from its pool.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
CreatePool(GameObject) |
Creates a GameObjectPool that pools instances of sourceObject, and attaches it to the manager.
The pool is created on a child object of the manager's game object.
| |
CreatePool(TPoolSettings) |
Creates a new pool using the specified settings, and attaches it to the manager.
The pool is created on a child object of the manager's game object.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
CreatePool(GameObject, GameObject, Boolean) |
Creates a GameObjectPool that pools instances of sourceObject, and attaches it to the manager.
| |
CreatePool(TPoolSettings, GameObject, Boolean, String) |
Creates a new pool using the specified settings, and attaches it to the manager.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
DestroyPool |
Destroys the specified pool that's attached to the manager.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
DetachPool |
Detaches the specified pool from the manager, without destroying it.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
Equals | (Inherited from Object.) | |
Finalize | (Inherited from Object.) | |
FindChildPools |
Finds all pools that are parented to the manager's game object.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
GetHashCode | (Inherited from Object.) | |
GetPool |
Gets the pool that handles instances of the specified source object.
The manager must contain a matching pool to use this method.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
GetPooledCount |
Gets the number of instances of the specified object contained in the pool.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
GetSourceName |
When implemented in a derived class, gets the name of the specified source.
(Overrides PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstanceGetSourceName(TSource).) | |
GetType | (Inherited from Object.) | |
HasPool |
Determines whether the manager has a pool that handles instances of the specified source object.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
InternalAcquire |
When implemented in a derived class, attempts to acquire an instance of a source according to AcquireMode.
(Overrides PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstanceInternalAcquire(TSource, TPool, TInstance).) | |
IsAttached |
Determines whether the specified pool is attached to the manager.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
IsPoolEmpty |
Determines whether the pool is empty for instances of the specified object.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
MemberwiseClone | (Inherited from Object.) | |
OnPoolAttached |
Raises the PoolAttached event.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
OnPoolCreated |
Raises the PoolCreated event.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
OnPoolDestroyed |
Raises the PoolDestroyed event.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
OnPoolDetached |
Raises the PoolDetached event.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
Release |
Releases an instance that was previously acquired from an attached pool.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
ReleaseInternal |
Releases an instance of a game object that was previously acquired from an attached pool.
(Overrides PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstanceReleaseInternal(TInstance).) | |
ToString | (Inherited from Object.) | |
TryAcquire(TSource, TInstance) |
Acquires an instance of sourceObject from an attached pool.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
TryAcquire(GameObject, Transform, GameObject) |
Acquires an instance of sourceObject from an attached pool, and sets its parent transform.
| |
TryAcquire(GameObject, Transform, Boolean, GameObject) |
Acquires an instance of sourceObject from an attached pool, and sets its parent transform.
| |
TryAcquire(GameObject, Vector3, Quaternion, GameObject) |
Acquires an instance of sourceObject from an attached pool, and sets its position and rotation.
| |
TryAcquire(GameObject, Vector3, Quaternion, Transform, GameObject) |
Acquires an instance of sourceObject from an attached pool, and sets its parent transform, position and rotation.
| |
TryGetPool |
Gets the pool that handles instances of the specified source object.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) |
Name | Description | |
---|---|---|
PoolAttached |
Occurs when a GameObjectPool is attached to the manager.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
PoolCreated |
Occurs when a GameObjectPool is created by the manager.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
PoolDestroyed |
Occurs when a GameObjectPool is destroyed by the manager.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) | |
PoolDetached |
Occurs when a GameObjectPool is detached from the manager.
(Inherited from PoolManagerBaseTManagerSettings, TPool, TPoolSettings, TSource, TInstance.) |
// Create the manager as a component on a game object. var manager = gameObject.AddComponent<GameObjectPoolManager>(); // Set up the manager's properties. manager.DontDestroyOnLoad = true; manager.AttachDescendentPools = true; manager.AcquireMode = AcquireNoPoolMode.CreatePool; // Attach an existing pool to the manager. manager.AttachPool(pool); // Create a pool that is attached to the manager. manager.CreatePool(new GameObjectPoolSettings { Source = myPrefab, DontDestroyOnLoad = true, Enabled = true, InitialiseOnStart = true, InitialSize = 10, InstantiateWhenEmpty = true, LogMessages = LogLevel.Warning, MaximumSize = 50, NotificationMode = NotificationMode.Interface, RecordStatistics = true, ReparentPooledObjects = true }); // Acquire an instance of myPrefab from the manager. The Acquire method can be used safely if the myPrefab pool's InstantiateWhenEmpty property is true, or if a check is made to CanAcquire beforehand. GameObject instance = manager.Acquire(myPrefab); // Acquire another myPrefab instance from the manager. TryAcquire can be used safely even when InstantiateWhenEmpty is false. GameObject secondInstance; if (manager.TryAcquire(myPrefab, out secondInstance)) { // Release the instance back to the manager. manager.Release(secondInstance); } // Release the instance back to the manager. manager.Release(instance);