PR pixi-reels

ObjectPool\<T\>

pixi-reels


pixi-reels / index / ObjectPool

Class: ObjectPool<T>

Defined in: pool/ObjectPool.ts:11

Generic object pool for reusing expensive-to-create objects.

Reduces GC pressure by recycling objects instead of creating/destroying them each frame. Used internally for ReelSymbol instances and available to game code for trails, particles, etc.

Type Parameters

Type ParameterDescription
TThe type of object to pool.

Implements

Constructors

Constructor

new ObjectPool<T>(
   _factory: (key: string) => T, 
   _reset?: (item: T) => void, 
   _dispose?: (item: T) => void, 
_maxPerKey?: number): ObjectPool<T>;

Defined in: pool/ObjectPool.ts:17

Parameters

ParameterTypeDefault value
_factory(key: string) => Tundefined
_reset?(item: T) => voidundefined
_dispose?(item: T) => voidundefined
_maxPerKey?number20

Returns

ObjectPool<T>

Accessors

isDestroyed

Get Signature

get isDestroyed(): boolean;

Defined in: pool/ObjectPool.ts:24

Returns

boolean

Implementation of

Disposable.isDestroyed


totalSize

Get Signature

get totalSize(): number;

Defined in: pool/ObjectPool.ts:78

Get total pooled items across all keys.

Returns

number

Methods

acquire()

acquire(key: string): T;

Defined in: pool/ObjectPool.ts:31

Get an object from the pool, or create a new one if the pool is empty.

Parameters

ParameterType
keystring

Returns

T


clear()

clear(): void;

Defined in: pool/ObjectPool.ts:87

Clear all pooled items, calling dispose on each.

Returns

void


destroy()

destroy(): void;

Defined in: pool/ObjectPool.ts:99

Returns

void

Implementation of

Disposable.destroy


release()

release(key: string, item: T): void;

Defined in: pool/ObjectPool.ts:52

Return an object to the pool for reuse. If the pool is at capacity, the object is disposed instead.

Parameters

ParameterType
keystring
itemT

Returns

void


size()

size(key: string): number;

Defined in: pool/ObjectPool.ts:73

Get the number of pooled items for a key.

Parameters

ParameterType
keystring

Returns

number