UNPKG

phaser4-rex-plugins

Version:
62 lines (49 loc) 1.51 kB
import EventEmitter from '../../utils/eventemitter/EventEmitter'; export default StateManagerBase; declare namespace StateManagerBase { interface IState { name?: string, next?: string | (() => string), enter?: Function, exit?: Function, } interface IConfig { eventEmitter?: EventEmitter | false, } namespace Events { type StateChangeCallbackType = (state: StateManagerBase) => void; type ExitStateCallbackType = (state: StateManagerBase) => void; type EnterStateCallbackType = (state: StateManagerBase) => void; } } declare class StateManagerBase extends EventEmitter { constructor(config?: StateManagerBase.IConfig); start(newState: string): this; next(): this; goto(nextState: string): this; state: string; readonly prevState: string; readonly stateList: string[]; setEnable(enable?: boolean): this; toggleEnable(): this; enable: boolean; addState( name: string, state: StateManagerBase.IState ): this; addState( state: StateManagerBase.IState ): this; addStates( state: StateManagerBase.IState[] ): this; addStates( states: { [name: string]: StateManagerBase.IState }, ): this; removeState(name: string): this; removeAllStates(): this; runMethod( methodName: string, ...args: unknown[] ): unknown; }