Example #1
0
            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);
            }
Example #2
0
            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);
            }