public static void Run() { IModel m = new Highpoint.Sage.SimCore.Model("Demo Model"); Highpoint.Sage.SimCore.StateMachine sm = m.StateMachine; sm.TransitionCompletedSuccessfully += (model, data) => Console.WriteLine("Model transitioned successfully to the {0} state.", m.StateMachine.State); string[] stateNames = Enum.GetNames(sm.State.GetType()); Console.WriteLine("State machine's default states are {0}", StringOperations.ToCommasAndAndedList(stateNames)); DateTime startDateTime = DateTime.Parse("Fri, 15 Jul 2016 00:00:00"); Console.WriteLine("Registering an event to run in the model at {0}", StringOperations.ToCommasAndAndedList(stateNames)); m.Executive.RequestEvent( (exec, data) => Console.WriteLine("{0} : While running, Model state is {1}.", exec.Now, m.StateMachine.State), startDateTime); Console.WriteLine("Before starting, model state is {0}.", m.StateMachine.State); m.Start(); Console.WriteLine("After completion, model state is {0}.", m.StateMachine.State); }
public static void Run() { Highpoint.Sage.SimCore.Model m = new DemoModel1("Demo Model"); Highpoint.Sage.SimCore.StateMachine sm = m.StateMachine; sm.TransitionCompletedSuccessfully += ReportStateTransition; string[] stateNames = Enum.GetNames(sm.State.GetType()); Console.WriteLine("State machine's default states are {0}", StringOperations.ToCommasAndAndedList(stateNames)); DateTime startDateTime = DateTime.Parse("Fri, 15 Jul 2016 00:00:00"); m.Executive.RequestEvent( (exec, data) => Console.WriteLine("Model state is {0}.", m.StateMachine.State), startDateTime); Console.WriteLine("Before starting, model state is {0}.", m.StateMachine.State); Console.WriteLine("Calling \"Start()\" on the model."); m.Start(); Console.WriteLine("After completion, model state is {0}.", m.StateMachine.State); }