Ejemplo n.º 1
0
 public void OnDeleteControllerReceived(object sender, NetworkDataReceivedEventArgs e)
 {
     if (mControllers.ContainsKey(e.From))
     {
         Controller controller = mControllers[e.From];
         mControllers.Remove(controller.Callsign);
         if (controller.IsValid)
         {
             ControllerDeleted?.Invoke(this, new ControllerEventArgs(controller));
         }
     }
 }
Ejemplo n.º 2
0
        private void ValidateController(Controller controller)
        {
            bool isValid = controller.IsValid;

            controller.IsValid = (controller.IsValidATC && controller.Frequency.IsValidFrequency());
            if (isValid && !controller.IsValid)
            {
                ControllerDeleted?.Invoke(this, new ControllerEventArgs(controller));
            }
            else if (!isValid && controller.IsValid)
            {
                ControllerAdded?.Invoke(this, new ControllerEventArgs(controller));
            }
        }
Ejemplo n.º 3
0
        private void RemoveAll()
        {
            List <Controller> temp = new List <Controller>();

            temp = mControllers.Values.ToList();
            foreach (Controller controller in temp)
            {
                if (controller.IsValid)
                {
                    controller.IsValid = false;
                    ControllerDeleted?.Invoke(this, new ControllerEventArgs(controller));
                }
            }
            mControllers.Clear();
        }
Ejemplo n.º 4
0
        private void ControllerUpdateTick(object sender, EventArgs e)
        {
            List <string> temp = mControllers.Values.Where(o => (DateTime.Now - o.LastUpdate).TotalMilliseconds > 45000.0).Select(o => o.Callsign).ToList();

            foreach (string value in temp)
            {
                Controller controller = mControllers[value];
                mControllers.Remove(value);
                if (controller.IsValid)
                {
                    controller.IsValid = false;
                    ControllerDeleted?.Invoke(this, new ControllerEventArgs(controller));
                }
            }
        }