Example #1
0
        private void ReadStartPoint(string line)
        {
            string[] tokens  = line.Split(_splitters, StringSplitOptions.RemoveEmptyEntries);
            string[] xpTypes = tokens[5].Split('|');

            Parking sp = new Parking(this)
            {
                Latitude     = VortexMath.ParseDegreesToRadians(tokens[1]),
                Longitude    = VortexMath.ParseDegreesToRadians(tokens[2]),
                Bearing      = ((VortexMath.Parse(tokens[3]) + 540) * VortexMath.Deg2Rad) % (VortexMath.PI2) - Math.PI,
                LocationType = StartUpLocationTypeConverter.FromString(tokens[4]),
                XpTypes      = AircraftTypeConverter.XPlaneTypesFromStrings(xpTypes),
                Name         = string.Join(" ", tokens.Skip(6))
            };

            if (Settings.FixDuplicateParkingNames)
            {
                if (_parkings.Count(p => p.Name == sp.Name) > 0)
                {
                    if (!_parkingNameDuplicates.ContainsKey(sp.Name))
                    {
                        _parkingNameDuplicates.Add(sp.Name, 1);
                    }

                    _parkingNameDuplicates[sp.Name]++;
                    sp.Name += $" - {_parkingNameDuplicates[sp.Name]}";
                    Logger.Log($"Renamed a parking to: {sp.Name}");
                }
            }

            _parkings.Add(sp);
        }
Example #2
0
        private void ReadRunwayRecord(string line)
        {
            string[] tokens = line.Split(_splitters, StringSplitOptions.RemoveEmptyEntries);

            double latitude1  = VortexMath.ParseDegreesToRadians(tokens[9]);
            double longitude1 = VortexMath.ParseDegreesToRadians(tokens[10]);
            double latitude2  = VortexMath.ParseDegreesToRadians(tokens[18]);
            double longitude2 = VortexMath.ParseDegreesToRadians(tokens[19]);

            Runway r1 = new Runway(tokens[8], latitude1, longitude1, VortexMath.Parse(tokens[11]) / 1000.0);

            r1.LogMessage += RelayMessage;

            Runway r2 = new Runway(tokens[17], latitude2, longitude2, VortexMath.Parse(tokens[20]) / 1000.0);

            r2.LogMessage += RelayMessage;

            r1.OppositeEnd = r2;
            r2.OppositeEnd = r1;

            _runways.Add(r1);
            _runways.Add(r2);
        }
Example #3
0
 public void ParseVisibilityRule(string line)
 {
     string[] tokens = line.Split(_splitters, StringSplitOptions.RemoveEmptyEntries);
     MinVisibility = VortexMath.Parse(tokens[2]);
 }