Example #1
0
        private void BtnStartClick(object sender, EventArgs e)
        {
            if (EnvironmentThread?.IsAlive == true)
            {
                return;
            }

            SetButtonsEnable(true);
            SetConfiguration();
            Time.OursAdaptingTime         = 0;
            Time.EndSimulationTime        = 0;
            Time.StartSimulationTime      = 0;
            Time.ConventionalAdaptingTime = 0;
            Time.GlobalSimulationTime     = 0;
            Time.OursOptimizingTime       = 0;
            Config.StartMessageCount      = 0;

            EnvironmentContainer = new Container(Config);
            AnimationController  = new Gui(Config, EnvironmentContainer, guiOpenGLFrame);
            FaultGenerator       = new FaultGenerator(Config, EnvironmentContainer);

            var ts = new ThreadStart(EnvironmentContainer.Run);

            EnvironmentThread = new Thread(ts)
            {
                IsBackground = true, Priority = ThreadPriority.Highest
            };
            EnvironmentThread.Start();

            AnimationThread = new Thread(AnimationController.Run)
            {
                IsBackground = true, Priority = ThreadPriority.AboveNormal
            };
            AnimationThread.Start();
            //
            // create an timer to update UI form information like labels and size
            UiUpdater = new System.Timers.Timer(1000)
            {
                AutoReset = true
            };
            UiUpdater.Elapsed += delegate { RefreshInfo(); };
            UiUpdater.Start();
        }
Example #2
0
 private void BtnWorkerFailureClick(object sender, EventArgs e)
 {
     FaultGenerator.WorkerFailure();
 }
Example #3
0
 private void BtnMessengerFailureClick(object sender, EventArgs e)
 {
     FaultGenerator.MessengerFailure();
 }