pixi-reels

EmptySymbol

pixi-reels


pixi-reels / index / EmptySymbol

Class: EmptySymbol

Defined in: symbols/EmptySymbol.ts:11

A ReelSymbol that renders nothing and never animates.

Register it for an id that needs to occupy a grid slot without producing any visual — the blank rest state of a HoldAndWinBoard cell, a cascade “hole”, a dry-run symbol-set placeholder. The HoldAndWinBuilder auto-registers one under its emptyId so callers never have to.

Extends

Constructors

Constructor

new EmptySymbol(): EmptySymbol;

Defined in: symbols/ReelSymbol.ts:42

Returns

EmptySymbol

Inherited from

ReelSymbol.constructor

Properties

PropertyModifierTypeDescriptionInherited fromDefined in
viewreadonlyContainerThe PixiJS container that holds this symbol’s visual.ReelSymbol.viewsymbols/ReelSymbol.ts:37

Accessors

isDestroyed

Get Signature

get isDestroyed(): boolean;

Defined in: symbols/ReelSymbol.ts:50

Returns

boolean

Inherited from

ReelSymbol.isDestroyed


symbolId

Get Signature

get symbolId(): string;

Defined in: symbols/ReelSymbol.ts:46

Returns

string

Inherited from

ReelSymbol.symbolId

Methods

activate()

activate(symbolId: string): void;

Defined in: symbols/ReelSymbol.ts:59

Activate the symbol with a new identity. Called when the symbol enters the visible reel or is recycled from the pool. Resets container transform / filter state for parity with deactivate().

Parameters

ParameterType
symbolIdstring

Returns

void

Inherited from

ReelSymbol.activate


deactivate()

deactivate(): void;

Defined in: symbols/ReelSymbol.ts:75

Deactivate the symbol before returning it to the pool. Stops animations, hides the view, and resets container transform / filter state so subclass decorations don’t leak across recycles.

Returns

void

Inherited from

ReelSymbol.deactivate


destroy()

destroy(): void;

Defined in: symbols/ReelSymbol.ts:92

Returns

void

Inherited from

ReelSymbol.destroy


onActivate()

protected onActivate(_symbolId: string): void;

Defined in: symbols/EmptySymbol.ts:12

Subclass hook: set up visuals for the given symbolId.

Parameters

ParameterType
_symbolIdstring

Returns

void

Overrides

ReelSymbol.onActivate


onDeactivate()

protected onDeactivate(): void;

Defined in: symbols/EmptySymbol.ts:13

Subclass hook: clean up visuals.

Returns

void

Overrides

ReelSymbol.onDeactivate


onDestroy()

protected onDestroy(): void;

Defined in: symbols/ReelSymbol.ts:108

Subclass hook: additional cleanup on destroy.

Returns

void

Inherited from

ReelSymbol.onDestroy


onReelAnticipationStart()

onReelAnticipationStart(): void;

Defined in: symbols/ReelSymbol.ts:254

Lifecycle hook: the owning reel entered its anticipation (tease) phase. it is still spinning, but slowed enough that the strip is readable. Spin presentations that obscure symbols (blur textures, smear animations) should relax so the player can follow the tease. Also fired on symbols installed while the reel is anticipating. Implementations MUST be idempotent. Default: no-op.

Returns

void

Inherited from

ReelSymbol.onReelAnticipationStart


onReelLanded()

onReelLanded(): void;

Defined in: symbols/ReelSymbol.ts:261

Lifecycle hook: the owning reel has landed on its final symbols. Default: no-op. Override (e.g. SpineReelSymbol.autoPlayLanding) to fire a landing animation concurrently with the bounce.

Returns

void

Inherited from

ReelSymbol.onReelLanded


onReelSpinEnd()

onReelSpinEnd(): void;

Defined in: symbols/ReelSymbol.ts:244

Lifecycle hook: the owning reel is about to stop (just before bounce). Default: no-op.

Returns

void

Inherited from

ReelSymbol.onReelSpinEnd


onReelSpinStart()

onReelSpinStart(_joinedMidSpin?: boolean): void;

Defined in: symbols/ReelSymbol.ts:238

Lifecycle hook: the owning reel is spinning. Default: no-op. Override (e.g. SpineReelSymbol.autoPlayBlur, StaticSpinSymbol) to swap to a spin presentation automatically.

Fired on every strip symbol (visible AND buffer rows) when the reel enters the spin phase, and again with joinedMidSpin: true on each symbol freshly installed while the reel is already spinning (pool recycling wipes symbol state, so a wrapped-in symbol can’t know the reel is moving without this). Implementations MUST be idempotent. the same instance can be notified more than once per spin.

Parameters

ParameterType
_joinedMidSpin?boolean

Returns

void

Inherited from

ReelSymbol.onReelSpinStart


playDestroy()

playDestroy(opts?: {
  delay?: number;
  signal?: AbortSignal;
}): Promise<void>;

Defined in: symbols/ReelSymbol.ts:153

Play the cascade-destruction animation for this symbol. Called by consumers (typically via reelSet.destroySymbols(...)) to disintegrate a winning cell before the next cascade refill drops fresh symbols in.

Default implementation: brief scale-up “charge” then implode (scale 0

  • spin + fade), squishing around the symbol’s bounding-box CENTER regardless of the view’s anchor. Total ~320 ms. The view is left at alpha: 0 (destroyed); position / pivot are restored so pool reuse via _replaceSymbol’s same-id fast path doesn’t inherit a stale pivot offset.

Override in subclasses for art-appropriate destruction. e.g. a Spine symbol can play its disintegration track here, or a sprite symbol can swap to a shatter atlas. The promise must resolve when the symbol is no longer visible.

Default animation: a snappy “poof”. tiny anticipation pop (~60 ms) then a fast implode to scale: 0 + alpha: 0 (~140 ms), centered on the symbol’s bounds. ~200 ms total. No rotation. designed to read cleanly under win-cluster pacing without competing with the win presenter.

opts.delay. seconds to wait before the animation starts. Use to stagger a cluster of winners (e.g. i * 0.015). opts.signal. abort signal. If aborted (now or mid-animation), the tween is killed and the view is snapped to its destroyed pose (alpha: 0, transform restored). The promise resolves normally. abort means “skip to the end,” not “fail”. Subclasses that override this method MUST honor the signal or document why they can’t (e.g. a Spine disintegration track is uninterruptible).

Parameters

ParameterType
opts?{ delay?: number; signal?: AbortSignal; }
opts.delay?number
opts.signal?AbortSignal

Returns

Promise<void>

Inherited from

ReelSymbol.playDestroy


playWin()

playWin(): Promise<void>;

Defined in: symbols/EmptySymbol.ts:14

Play the win/highlight animation for this symbol. Resolves when complete.

Returns

Promise<void>

Overrides

ReelSymbol.playWin


reset()

reset(): void;

Defined in: symbols/ReelSymbol.ts:88

Pool reset. aliases deactivate.

Returns

void

Inherited from

ReelSymbol.reset


resize()

resize(_width: number, _height: number): void;

Defined in: symbols/EmptySymbol.ts:16

Resize the symbol’s visual to fit the given dimensions.

Parameters

ParameterType
_widthnumber
_heightnumber

Returns

void

Overrides

ReelSymbol.resize


stopAnimation()

stopAnimation(): void;

Defined in: symbols/EmptySymbol.ts:15

Immediately stop any running animation and return to idle.

Returns

void

Overrides

ReelSymbol.stopAnimation