Exemple #1
0
        private static async Task <string> NamedAirbase(IRadioCall radioCall)
        {
            string response;
            var    braData = await GameQuerier.GetBearingToNamedAirbase(radioCall.Sender.Position,
                                                                        radioCall.Sender.Group, radioCall.Sender.Flight, radioCall.Sender.Plane, radioCall.AirbaseName);

            if (braData != null)
            {
                var bearing =
                    Regex.Replace(Geospatial.TrueToMagnetic(radioCall.Sender.Position, braData["bearing"]).ToString("000"),
                                  "\\d{1}", " $0");
                var range = braData["range"];
                response = $"{AirbasePronouncer.PronounceAirbase(radioCall.AirbaseName)} bearing {bearing}, {range} miles";
            }
            else
            {
                response = $"I Could not find {AirbasePronouncer.PronounceAirbase(radioCall.AirbaseName)}.";
            }

            return(response);
        }
Exemple #2
0
        private static async Task <string> NearestAirbase(IRadioCall radioCall)
        {
            string response;
            var    braData = await GameQuerier.GetBearingToNearestFriendlyAirbase(radioCall.Sender.Position,
                                                                                  radioCall.Sender.Group, radioCall.Sender.Flight, radioCall.Sender.Plane, (int)radioCall.Sender.Coalition);

            if (braData != null)
            {
                var bearing =
                    Regex.Replace(Geospatial.TrueToMagnetic(radioCall.Sender.Position, (int)braData["bearing"]).ToString("000"),
                                  "\\d{1}", " $0");
                var range = braData["range"];
                response = $"{AirbasePronouncer.PronounceAirbase((string) braData["name"])} bearing {bearing}, {(int) range} miles";
            }
            else
            {
                response = "I Could not find any friendly airbases.";
            }

            return(response);
        }
        private static string ResponsePrefix(IRadioCall radioCall)
        {
            var name = Constants.Airfields.Any(airfield => airfield.Name.Equals(radioCall.AirbaseName)) ? AirbasePronouncer.PronounceAirbase(radioCall.AirbaseName) : "ATC";

            return($"{radioCall.Sender.Callsign}, {name} ");
        }