UNPKG

oosmos

Version:

A Hierarchical State Machine Class

32 lines (28 loc) 648 B
import { StateMachine } from '../OOSMOS'; class TimeoutTest extends StateMachine { constructor() { super({ DEFAULT: 'A', A: { ENTER() { this.Print("In state A"); this.SetTimeoutSeconds(4); }, TIMEOUT() { this.Transition('B'); }, }, B: { ENTER() { this.Print("In state B"); this.SetTimeoutSeconds(1); }, TIMEOUT() { this.Transition('A'); }, }, }); } } const pTimeoutTest = new TimeoutTest(); pTimeoutTest.SetDebug(true, 'debugFSM'); pTimeoutTest.Start();