Skip to content
pixi-silk
GitHub repository
Class

Driver

import { Driver } from 'pixi-silk/ui';

Runs a widget’s animation step on a ticker only while something moves. step returns true while it still has work. Once it returns false the driver leaves the ticker, so idle widgets cost nothing per frame.

Constructors#

Constructor#

new Driver(step: (dt: number) => boolean, ticker?: Ticker | null): Driver;

ticker defaults to Ticker.shared. Pass null to call Driver.tick yourself (tests, custom loops).

Parameters#

ParameterTypeDefault value
step(dt: number) => booleanundefined
tickerTicker | nullTicker.shared

Returns#

Driver

Accessors#

running#

Get Signature#

get running(): boolean;

True while attached to the ticker.

Returns

boolean

Methods#

sleep()#

sleep(): void;

Leaves the ticker. Safe to call twice, or after the ticker was destroyed.

Returns#

void


tick()#

tick(dt: number): boolean;

Advances by dt seconds by hand, clamped to 0..0.1. Returns true while there is still work, and leaves the ticker when done.

Parameters#

ParameterType
dtnumber

Returns#

boolean


wake()#

wake(): void;

Starts stepping on the next frame (no-op when already running).

Returns#

void