Class BaseScriptableObjectPool<TPoolableItem>
- Namespace
- CodeBase.ObjectPooling
- Assembly
- 4Experience.CodeBase.ObjectPoolingSystem.Runtime.dll
public abstract class BaseScriptableObjectPool<TPoolableItem> : ExtendedScriptableObject where TPoolableItem : class, IPoolableItem
Type Parameters
TPoolableItem
- Inheritance
-
Object
ScriptableObject
BaseScriptableObjectPool<TPoolableItem>
- Derived
-
- Extension Methods
-
Properties
Pool
protected IObjectPool<TPoolableItem> Pool { get; set; }
Property Value
- IObjectPool<TPoolableItem>
Setup
protected PoolSetup Setup { get; private set; }
Property Value
- PoolSetup
Methods
AllocateNewPool()
protected virtual IObjectPool<TPoolableItem> AllocateNewPool()
Returns
- IObjectPool<TPoolableItem>
CanBeInitialized()
private bool CanBeInitialized()
Returns
- bool
ClearPool()
public virtual void ClearPool()
CreateItem()
protected abstract TPoolableItem CreateItem()
Returns
- TPoolableItem
CreateLinkedPool(PoolSetup)
protected virtual IObjectPool<TPoolableItem> CreateLinkedPool(PoolSetup setup)
Parameters
setup PoolSetup
Returns
- IObjectPool<TPoolableItem>
CreateObjectPool(PoolSetup)
protected virtual IObjectPool<TPoolableItem> CreateObjectPool(PoolSetup setup)
Parameters
setup PoolSetup
Returns
- IObjectPool<TPoolableItem>
DestroyItem(TPoolableItem)
protected abstract void DestroyItem(TPoolableItem item)
Parameters
item TPoolableItem
GetItem()
public virtual TPoolableItem GetItem()
Returns
- TPoolableItem
Initialize()
public virtual void Initialize()
IsPoolInitialized()
protected virtual bool IsPoolInitialized()
Returns
- bool
OnGet(TPoolableItem)
protected virtual void OnGet(TPoolableItem item)
Parameters
item TPoolableItem
OnRelease(TPoolableItem)
protected virtual void OnRelease(TPoolableItem item)
Parameters
item TPoolableItem
PreWarmObjects(int)
protected virtual void PreWarmObjects(int amount)
Parameters
amount int
ReleaseItem(IPoolableItem)
public virtual void ReleaseItem(IPoolableItem poolableItem)
Parameters
poolableItem IPoolableItem