Finite State Machine for managing entity states. States are StateLogic instances with onEnter/onExit/update methods.
// Create statesclass IdleState extends StateLogic { ... }class RunState extends StateLogic { ... }// Create FSM with statesconst fsm = new StateMachine({ idle: new IdleState(), run: new RunState()});// Change statefsm.setState('idle');fsm.setState('run');// Listen for state changesfsm.addEventListener('stateChange', (e) => { console.log(`${e.detail.prevState} -> ${e.detail.newState}`);});// Call in update loopfsm.update(deltaTime); Copy
// Create statesclass IdleState extends StateLogic { ... }class RunState extends StateLogic { ... }// Create FSM with statesconst fsm = new StateMachine({ idle: new IdleState(), run: new RunState()});// Change statefsm.setState('idle');fsm.setState('run');// Listen for state changesfsm.addEventListener('stateChange', (e) => { console.log(`${e.detail.prevState} -> ${e.detail.newState}`);});// Call in update loopfsm.update(deltaTime);
Finite State Machine for managing entity states. States are StateLogic instances with onEnter/onExit/update methods.
Example