41 lines
1.3 KiB
Plaintext
41 lines
1.3 KiB
Plaintext
URL: https://wiki.studiominus.nl/internalReference/Pool.html
|
|
Title: People Playground Modding - Pool<T>
|
|
==================================================
|
|
|
|
public abstract class Pool
|
|
Abstract class for object poolingThe type to pool
|
|
Fields
|
|
public readonly int MaximumCapacity
|
|
The maximum amount of objects, active or inactive
|
|
|
|
Properties
|
|
public int CreatedAmount { get; private set; }
|
|
How many objects have been created
|
|
|
|
public int AmountInUse
|
|
No description provided
|
|
|
|
Methods
|
|
public (constructor) Pool(int maxCapacity = 1000)
|
|
Create a pool with the given capacity
|
|
|
|
public virtual T RequestObject()
|
|
Get an object from the pool. This will be ready for use or null, if the pool is at full capacity.
|
|
|
|
public virtual void ReturnToPool(T obj)
|
|
Return an object to the pool when it's done, to allow it to be requested again
|
|
|
|
public virtual void Prefill()
|
|
Create a new available object and add it to the pool, waiting to be used
|
|
|
|
protected virtual T GetExistingFromPool()
|
|
Get an existing object from the pool guaranteeing never to create a new one. Can return null.
|
|
|
|
protected abstract T CreateFresh()
|
|
Return a completely new instance of the poolable object
|
|
|
|
protected abstract void ResetObjectForNextUse(T obj)
|
|
Reset the given object for its next use
|
|
|
|
protected abstract T GetOverCapacityFallback()
|
|
What to return instead of null when the pool is at full capacity |