UNPKG

@dcl-sdk/utils

Version:

A collection of helpers to make it easier to build a Decentraland scene using the SDK 7.

51 lines (50 loc) 1.64 kB
import { IEngine } from '@dcl/sdk/ecs'; export declare namespace actions { class SequenceRunner { private beginSequenceNode; private currentSequenceNode; private engine; private systemFn; private running; private started; private onFinishCallback?; constructor(targetEngine: IEngine, sequenceBuilt?: SequenceBuilder, onFinishCallback?: () => void); startSequence(sequenceBuilt: SequenceBuilder): void; destroy(): void; setOnFinishCallback(onFinishCallback: () => void): void; isRunning(): boolean; stop(): void; resume(): void; reset(): void; getRunningAction(): IAction | null; private update; } interface IAction { onStart(): void; update(dt: number): void; onFinish(): void; hasFinished: boolean; } class SequenceBuilder { private currentSequenceNode; beginSequenceNode: SequenceNode | null; private whileNodeStack; then(action: IAction): SequenceBuilder; if(condition: () => boolean): SequenceBuilder; else(): SequenceBuilder; endIf(): SequenceBuilder; while(condition: () => boolean): SequenceBuilder; endWhile(): SequenceBuilder; breakWhile(): SequenceBuilder; } class SequenceNode { action: IAction | null; next: SequenceNode | null; then(next: SequenceNode): SequenceNode; onStart(): void; update(dt: number): void; onFinish(): void; hasFinish(): boolean; getSequence(): SequenceNode; } }