public static void Run() { IExecutive exec = ExecFactory.Instance.CreateExecutive(); #region Set up a metronome to fire once a second in sim time. DateTime startAt = DateTime.Parse("Fri, 15 Jul 2016 00:00:00"); DateTime finishAfter = DateTime.Parse("Fri, 15 Jul 2016 00:09:59"); TimeSpan period = TimeSpan.FromSeconds(.005); Metronome_Simple metronome = Metronome_Simple.CreateMetronome(exec, startAt, finishAfter, period); metronome.TickEvent += UpdateState; #endregion // Attach an ExecController so that it runs at 100 x of user time, // and issues 10 render events every second. double scale = 2.0; // 10^2, or 100 x real-time. int frameRate = 10; // 10 render events per second. ExecController execController = new ExecController(exec, scale, frameRate, exec); execController.Render += Render; exec.Start(); Console.WriteLine("{0} simulation events fired.", exec.EventCount); }
public static void Run() { IExecutive exec = ExecFactory.Instance.CreateExecutive(); DateTime startAt = DateTime.Parse("Thu, 10 Jul 2003 03:51:21"); DateTime finishAfter = DateTime.Parse("Wed 15 Dec 2004 19:22:47"); TimeSpan period = TimeSpan.FromMinutes(9000.0); Metronome_Simple metronome = Metronome_Simple.CreateMetronome(exec, startAt, finishAfter, period); metronome.TickEvent += WriteIt; exec.Start(); }
public static void Run() { IExecutive exec = ExecFactory.Instance.CreateExecutive(); DateTime startAt = DateTime.Parse("Fri, 15 Jul 2016 00:00:00"); DateTime finishAfter = DateTime.Parse("Fri, 15 Jul 2016 23:59:59"); TimeSpan period = TimeSpan.FromMinutes(60); Metronome_Simple metronome = Metronome_Simple.CreateMetronome(exec, startAt, finishAfter, period); metronome.TickEvent += WriteIt; exec.Start(); }
/// <summary> /// Initializes the executive. /// </summary> /// <param name="executionParameters">The execution parameters.</param> private void InitializeExecutive(ExecParameters executionParameters) { m_worldModel.Executive.SetStartTime(executionParameters.StartTime); m_worldModel.Executive.RequestEvent((exec, data) => exec.Stop(), executionParameters.EndTime); Metronome_Simple metronome = Metronome_Simple.CreateMetronome( m_worldModel.Executive, executionParameters.StartTime, executionParameters.EndTime, executionParameters.Increment); if (m_firstInitialization) { metronome.TickEvent += m_worldModel.Update; } m_firstInitialization = false; }