private void InitStateMachine() { BuildStateMachine(); #if DEV_MODE _vis = new StateMachineVis <Triggers, States>(_sm, pipeName: "graphViz", loggingEnabled: false); _vis.Start(@"StateMachineLibVis.exe", "-c graphViz -l 970"); #endif }
private void InitStateMachine() { BuildStateMachine(); #if DEV_MODE _vis = new StateMachineVis <Triggers, States>(_sm, name: "graphViz"); _vis.Start(@"StateMachineLibVis.exe", "-c graphViz -l 970"); #endif }
static void Main(string[] args) { var t1 = 0; var sm = new StateMachineBuilder <Trig, State>() .CreateState(State.S1) .Ignoring() .Transition(Trig.T1, State.S2) .End() .CreateState(State.S2) .Transition(Trig.T1, State.S3) .End() .CreateState(State.S3) .Transition(Trig.T2, State.S1) .End() .Build(State.S1, "example"); var vis = new StateMachineVis <Trig, State>(sm, name: "graphVizTest"); vis.Start("StateMachineLibVis.exe", clientArgs: "-c graphVizTest"); var logging = new StateMachineLogging <Trig, State>(sm); var cts = new CancellationTokenSource(); Task.Run(async() => { while (!cts.IsCancellationRequested) { if (t1 < 2) { sm.Next(Trig.T1); t1++; } else { t1 = 0; sm.Next(Trig.T2); } await Task.Delay(750, cts.Token); } }); Console.ReadKey(); vis.Stop(); cts.Cancel(); }