Esempio n. 1
0
        public void LogVehicleData(object sender, FormattedTransponderDataEventArgs args)
        {
            var vehicles = args.vehicles;

            Console.Clear();
            AirplanesInAirSpace = "Current Airplanes in Airspace: \n";
            foreach (var plane in vehicles)
            {
                AirplanesInAirSpace += Formatter.VehicleToString(plane);
            }
            Console.Write(AirplanesInAirSpace + SeperationConditions);
            SeperationConditions = ""; //Clear string for sep. cond. every tick
        }
Esempio n. 2
0
 public void OnRemoveAirPlainRecievedEvent(object sender, FormattedTransponderDataEventArgs e)
 {
     foreach (var vehicleAfter in e.vehicles)
     {
         foreach (var vehicleBefore in AirCrafts)
         {
             if (vehicleBefore.Tag == vehicleAfter.Tag)
             {
                 AirCrafts.Remove(vehicleBefore);
                 break;
             }
         }
     }
 }
Esempio n. 3
0
        public void LogVehicleData(object sender, FormattedTransponderDataEventArgs args)
        {
            var vehicles = args.vehicles;

            string path = @"C:\Temp\SeparationCondition.txt";

            /*var myFile = new System.IO.StreamWriter(path, append:true);
             * myFile.Write("Seperation Condition between: \n");
             * foreach (var plane in vehicles)
             * {
             *  myFile.Write(Formatter.VehicleToString(plane));
             * }
             * myFile.Close();
             */
        }
Esempio n. 4
0
        public void UpdateSeparationDetection(object sender, FormattedTransponderDataEventArgs e)
        {
            List <IVehicle> vehicles = e.vehicles;

            for (int i = 0; i < vehicles.Count - 1; i++)
            {
                for (int j = i + 1; j < vehicles.Count; j++)
                {
                    if (SeparationDetection(vehicles[i], vehicles[j]))
                    {
                        EventHandler <FormattedTransponderDataEventArgs> handler = SeparationConditionEvent;
                        List <IVehicle> confVehicles = new List <IVehicle>();

                        confVehicles.Add(vehicles[i]);
                        confVehicles.Add(vehicles[j]);

                        if (handler != null)
                        {
                            handler(this, new FormattedTransponderDataEventArgs(confVehicles));
                        }
                    }
                }
            }
        }
Esempio n. 5
0
        public void OnTrackDataRecieved(object sender, FormattedTransponderDataEventArgs e)
        {
            foreach (var vehicleAfter in e.vehicles)
            {
                bool inList = false;

                foreach (var vehicleBefore in AirCrafts)
                {
                    if (vehicleBefore.Tag == vehicleAfter.Tag)
                    {
                        inList = true;
                    }

                    vehicleBefore.Update(vehicleAfter);
                }

                if (!inList)
                {
                    AirCrafts.Add(vehicleAfter);
                }
            }

            ATMMonitorEvent?.Invoke(this, new FormattedTransponderDataEventArgs(AirCrafts));
        }
Esempio n. 6
0
        public void LogSeperationCondition(object sender, FormattedTransponderDataEventArgs args)
        {
            var vehicles = args.vehicles;

            SeperationConditions += "\nSeperation Condition between: " + vehicles[0].Tag + " and " + vehicles[1].Tag;
        }
Esempio n. 7
0
        public void TrackFilter_FormattedTransponderDataEventArgs_Get()
        {
            var data = new FormattedTransponderDataEventArgs(_aircraftlist);

            Assert.That(data.vehicles, Is.EqualTo(_aircraftlist));
        }