Table of Contents

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