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); }
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); }
public void ParseVisibilityRule(string line) { string[] tokens = line.Split(_splitters, StringSplitOptions.RemoveEmptyEntries); MinVisibility = VortexMath.Parse(tokens[2]); }