public void RegisterAircraftUnderGuidance(Aircraft aircraft) { if (!_aircraftUnderGuidance.Contains(aircraft)) { _aircraftUnderGuidance.Add(aircraft); } }
public void ReceiveAircraftLocation(Aircraft reportingAircraft) { foreach (Aircraft currentAircraftUnderGuidance in _aircraftUnderGuidance.Where(x => !x.Equals(reportingAircraft))) { if (Math.Abs(currentAircraftUnderGuidance.Altitude - reportingAircraft.Altitude) < MinimumIntrusionAltitude) { currentAircraftUnderGuidance.WarnOfAirspaceIntrusionBy(reportingAircraft); reportingAircraft.Climb(MinimumIntrusionAltitude); } } }
public void WarnOfAirspaceIntrusionBy(Aircraft reportingAircraft) { Console.WriteLine("Airspace intrusion for {0} by {1}", CallSign, reportingAircraft.CallSign); }