예제 #1
0
 public void Resume()
 {
     if (this.status != EventManagerStatus.Running)
     {
         Console.WriteLine(DateTime.Now + " Event manager resumed at " + this.framework.clock.DateTime);
         this.status = EventManagerStatus.Running;
         this.OnEvent(new OnEventManagerResumed());
     }
 }
예제 #2
0
 public void Pause()
 {
     if (this.status != EventManagerStatus.Paused)
     {
         Console.WriteLine(DateTime.Now + " Event manager paused at " + this.framework.clock.DateTime);
         this.status = EventManagerStatus.Paused;
         this.OnEvent(new OnEventManagerPaused());
     }
 }
예제 #3
0
 public void Stop()
 {
     if (this.status != EventManagerStatus.Stopped)
     {
         Console.WriteLine(DateTime.Now + " Event manager stopping at " + this.framework.clock.DateTime);
         this.status = EventManagerStatus.Stopping;
         if (this.framework.Mode == FrameworkMode.Simulation)
         {
             this.OnEvent(new OnSimulatorStop());
         }
         this.status = EventManagerStatus.Stopped;
         this.framework.eventBus.Clear();
         this.OnEvent(new OnEventManagerStopped());
         Console.WriteLine(DateTime.Now + " Event manager stopped at " + this.framework.clock.DateTime);
     }
 }
예제 #4
0
 private void ThreadRun()
 {
     Console.WriteLine(string.Concat(new object[]
     {
         DateTime.Now,
         " Event manager thread started: Framework = ",
         this.framework.Name,
         " Clock = ",
         this.framework.Clock.GetModeAsString()
     }));
     this.status = EventManagerStatus.Running;
     while (!this.threadExit)
     {
         if (this.status == EventManagerStatus.Running || (this.status == EventManagerStatus.Paused && this.step_enabled))
         {
             Event e = this.bus.Dequeue();
             this.OnEvent(e);
         }
         else
         {
             Thread.Sleep(1);
         }
     }
 }
예제 #5
0
		private void ThreadRun()
		{
			Console.WriteLine(string.Concat(new object[]
			{
				DateTime.Now,
				" Event manager thread started: Framework = ",
				this.framework.Name,
				" Clock = ",
				this.framework.Clock.GetModeAsString()
			}));
			this.status = EventManagerStatus.Running;
			while (!this.threadExit)
			{
				if (this.status == EventManagerStatus.Running || (this.status == EventManagerStatus.Paused && this.step_enabled))
				{
					Event e = this.bus.Dequeue();
					this.OnEvent(e);
				}
				else
				{
					Thread.Sleep(1);
				}
			}
		}
예제 #6
0
		public void Stop()
		{
			if (this.status != EventManagerStatus.Stopped)
			{
				Console.WriteLine(DateTime.Now + " Event manager stopping at " + this.framework.clock.DateTime);
				this.status = EventManagerStatus.Stopping;
				if (this.framework.Mode == FrameworkMode.Simulation)
				{
					this.OnEvent(new OnSimulatorStop());
				}
				this.status = EventManagerStatus.Stopped;
				this.framework.eventBus.Clear();
				this.OnEvent(new OnEventManagerStopped());
				Console.WriteLine(DateTime.Now + " Event manager stopped at " + this.framework.clock.DateTime);
			}
		}
예제 #7
0
		public void Resume()
		{
			if (this.status != EventManagerStatus.Running)
			{
				Console.WriteLine(DateTime.Now + " Event manager resumed at " + this.framework.clock.DateTime);
				this.status = EventManagerStatus.Running;
				this.OnEvent(new OnEventManagerResumed());
			}
		}
예제 #8
0
		public void Pause()
		{
			if (this.status != EventManagerStatus.Paused)
			{
				Console.WriteLine(DateTime.Now + " Event manager paused at " + this.framework.clock.DateTime);
				this.status = EventManagerStatus.Paused;
				this.OnEvent(new OnEventManagerPaused());
			}
		}