PR pixi-reels

PhaseFactory

pixi-reels


pixi-reels / index / PhaseFactory

Class: PhaseFactory

Defined in: spin/phases/PhaseFactory.ts:23

Factory for creating reel phase instances.

Ships with all four default phases pre-registered. Users can override any phase by registering a custom constructor or factory function. Use registerFactory() when the phase needs extra construction-time config (e.g. cascade drop settings baked in via closure).

Constructors

Constructor

new PhaseFactory(): PhaseFactory;

Defined in: spin/phases/PhaseFactory.ts:26

Returns

PhaseFactory

Methods

create()

create<T>(
   name: string, 
   reel: Reel, 
   speed: SpeedProfile): T;

Defined in: spin/phases/PhaseFactory.ts:53

Create a phase instance for a reel.

Type Parameters

Type ParameterDefault type
T extends ReelPhase<any>ReelPhase<any>

Parameters

ParameterType
namestring
reelReel
speedSpeedProfile

Returns

T


has()

has(name: string): boolean;

Defined in: spin/phases/PhaseFactory.ts:67

Parameters

ParameterType
namestring

Returns

boolean


register()

register<T>(name: string, PhaseClass: PhaseConstructor<T>): void;

Defined in: spin/phases/PhaseFactory.ts:34

Register or override a phase type by constructor.

Type Parameters

Type Parameter
T extends ReelPhase<any>

Parameters

ParameterType
namestring
PhaseClassPhaseConstructor<T>

Returns

void


registerFactory()

registerFactory<T>(name: string, factory: PhaseCreatorFn<T>): void;

Defined in: spin/phases/PhaseFactory.ts:45

Register or override a phase type by factory function. Use this when the phase needs extra args at construction time.

Type Parameters

Type Parameter
T extends ReelPhase<any>

Parameters

ParameterType
namestring
factoryPhaseCreatorFn<T>

Returns

void

Example

factory.registerFactory('cascade:dropIn', (reel, speed) => new CascadeDropInPhase(reel, speed, dropConfig));