public static AircraftDefinition[] GetAllInstalledAircraftInYSFlightFolder() { List <AircraftDefinition> Output = new List <AircraftDefinition>(); var ysflightDirectory = @"C:/Program Files/YSFLIGHT.COM/YSFlight/"; var files = GetAllAircraftLSTFilesInYSFlightFolder(); foreach (string thisLSTFileName in files) { AircraftList thisFile = new AircraftList(thisLSTFileName); thisFile.Load(); foreach (AircraftDefinition thisAircraftDefinition in thisFile.List) { if (!System.IO.File.Exists(Path.Combine(ysflightDirectory, thisAircraftDefinition.DataFilePath))) { goto Error; } if (!System.IO.File.Exists(Path.Combine(ysflightDirectory, thisAircraftDefinition.VisualModelFilePath))) { goto Error; } if (!System.IO.File.Exists(Path.Combine(ysflightDirectory, thisAircraftDefinition.CollisionFilePath))) { goto Error; } Output.Add(thisAircraftDefinition); continue; Error: Debug.AddDetailMessage(thisAircraftDefinition.ToString() + " files missing."); } } return(Output.ToArray()); }
public static bool TryParse(string input, out IPressure output) { #region Prepare Variables string capInput = input.ToUpperInvariant(); string extraction = input.ExtractNumberComponentFromMeasurementString(); double conversion = 0; #endregion #region Convert To Double bool failed = !double.TryParse(extraction, out conversion); if (failed) { Debug.AddDetailMessage("Measurement Input not successfully converted."); Debug.AddDetailMessage("----" + capInput); output = new Pressures.Pascal(0); return(false); } #endregion #endregion #region Convert To Pressure if (capInput.EndsWithAny(Suffixes.Atmosphere)) { output = new Pressures.Atmosphere(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Bar)) { output = new Pressures.Bar(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.KiloPascal)) { output = new Pressures.KiloPascal(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.MilliMeterOfMercury)) { output = new Pressures.MilliMeterOfMercury(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Pascal)) { output = new Pressures.Pascal(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.PoundPerSquareInch)) { output = new Pressures.PoundPerSquareInch(conversion); return(true); } #endregion #region ... Conversion #region Type Unrecognised Debug.AddDetailMessage("No Type for input Pressure conversion. Break here for details..."); Debug.AddDetailMessage("----" + capInput); output = new Pressures.Pascal(0); return(false); #endregion }
public void DebugShowStatistics() { Debug.AddDetailMessage(Name + ": "); Debug.AddDetailMessage("----MODE: " + Mode()); Debug.AddDetailMessage("----MEAN: " + Mean()); Debug.AddDetailMessage("----STDDEV: " + StandardDeviation()); Debug.AddDetailMessage("----MAX : " + Max()); Debug.AddDetailMessage("----MIN : " + Min()); }
public static bool TryParse(string input, out IPower output) { #region Prepare Variables string capInput = input.ToUpperInvariant(); string extraction = input.ExtractNumberComponentFromMeasurementString(); double conversion = 0; #endregion #region Convert To Double bool failed = !double.TryParse(extraction, out conversion); if (failed) { Debug.AddDetailMessage("Measurement Input not successfully converted."); Debug.AddDetailMessage("----" + capInput); output = new Powers.KiloWatt(0); return(false); } #endregion #endregion #region Convert To Power if (capInput.EndsWithAny(Suffixes.BTUPerMinute)) { output = new Powers.BTUPerMinute(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.FootPoundPerMinute)) { output = new Powers.FootPoundPerMinute(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.KiloWatt)) { output = new Powers.KiloWatt(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.USHorsePower)) { output = new Powers.USHorsePower(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Watt)) { output = new Powers.Watt(conversion); return(true); } #endregion #region ... Conversion #region Type Unrecognised Debug.AddDetailMessage("No Type for input Power conversion. Break here for details..."); Debug.AddDetailMessage("----" + capInput); output = new Powers.KiloWatt(0); return(false); #endregion }
public static bool TryParse(string input, out ITemperature output) { #region Prepare Variables string capInput = input.ToUpperInvariant(); string extraction = input.ExtractNumberComponentFromMeasurementString(); double conversion = 0; #endregion #region Convert To Double bool failed = !double.TryParse(extraction, out conversion); if (failed) { Debug.AddDetailMessage("Measurement Input not successfully converted."); Debug.AddDetailMessage("----" + capInput); output = new Temperatures.DegreeCelsius(0); return(false); } #endregion #endregion #region Convert To Temperature if (capInput.EndsWithAny(Suffixes.DegreeCelcius)) { output = new Temperatures.DegreeCelsius(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.DegreeKelvin)) { output = new Temperatures.DegreeKelvin(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.DegreeFahrenheit)) { output = new Temperatures.DegreeFahrenheit(conversion); return(true); } #endregion #region ... Conversion #region Type Unrecognised Debug.AddDetailMessage("No Type for input Temperature conversion. Break here for details..."); Debug.AddDetailMessage("----" + capInput); output = new Temperatures.DegreeCelsius(0); return(false); #endregion }
public AircraftDefinition[] GetAllInstalledAircraftFromLSTFile(bool debugMode = false) { List <AircraftDefinition> Output = new List <AircraftDefinition>(); var ysflightDirectory = @"C:/Program Files/YSFLIGHT.COM/YSFlight/"; Load(); if (debugMode) { Debug.AddDetailMessage("Testing definitions in LST file for validity..."); } var errors = 0; foreach (AircraftDefinition thisAircraftDefinition in List) { if (!System.IO.File.Exists(Path.Combine(ysflightDirectory, thisAircraftDefinition.DataFilePath))) { goto Error; } if (!System.IO.File.Exists(Path.Combine(ysflightDirectory, thisAircraftDefinition.VisualModelFilePath))) { goto Error; } if (!System.IO.File.Exists(Path.Combine(ysflightDirectory, thisAircraftDefinition.CollisionFilePath))) { goto Error; } Output.Add(thisAircraftDefinition); continue; Error: if (debugMode) { Debug.AddDetailMessage("\"" + thisAircraftDefinition.DataFilePath + "\" entry in (" + Filename + ") has files missing - DAT, Model or Collision File. Check the pack and ensure the addon exists in the defined file path address!"); } errors++; } if (debugMode) { Debug.AddDetailMessage("LST file has " + errors + " errors. " + ((errors > 0) ? ":(" : ":D")); } return(Output.ToArray()); }
public static bool TryParse(string input, out IArea output) { #region Prepare Variables string capInput = input.ToUpperInvariant(); string extraction = input.ExtractNumberComponentFromMeasurementString(); double conversion = 0; #endregion #region Convert To Double bool failed = !double.TryParse(extraction, out conversion); if (failed) { Debug.AddDetailMessage("Measurement Input not successfully converted."); Debug.AddDetailMessage("----" + capInput); output = new Areas.SquareMeter(0); return(false); } #endregion #endregion #region Convert To Area if (capInput.EndsWithAny(Suffixes.Acre)) { output = new Areas.Acre(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.SquareCentiMeter)) { output = new Areas.SquareCentiMeter(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.SquareFoot)) { output = new Areas.SquareFoot(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.SquareKiloMeter)) { output = new Areas.SquareKiloMeter(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.SquareMeter)) { output = new Areas.SquareMeter(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.SquareMile)) { output = new Areas.SquareMile(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.SquareMilliMeter)) { output = new Areas.SquareMilliMeter(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.SquareNauticalMile)) { output = new Areas.SquareNauticalMile(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.SquareYard)) { output = new Areas.SquareYard(conversion); return(true); } #endregion #region ... Conversion #region Type Unrecognised Debug.AddDetailMessage("No Type for input Area conversion. Break here for details..."); Debug.AddDetailMessage("----" + capInput); output = new Areas.SquareMeter(0); return(false); #endregion }
public static bool TryParse(string input, out IMass output) { #region Prepare Variables string capInput = input.ToUpperInvariant(); string extraction = input.ExtractNumberComponentFromMeasurementString(); double conversion = 0; #endregion #region Convert To Double bool failed = !double.TryParse(extraction, out conversion); if (failed) { Debug.AddDetailMessage("Measurement Input not successfully converted."); Debug.AddDetailMessage("----" + capInput); output = new Masses.KiloGram(0); return(false); } #endregion #endregion #region Convert To Mass if (capInput.EndsWithAny(Suffixes.Carat)) { output = new Masses.Carat(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.CentiGram)) { output = new Masses.CentiGram(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.DecaGram)) { output = new Masses.DecaGram(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Gram)) { output = new Masses.Gram(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.HectoGram)) { output = new Masses.HectoGram(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.KiloGram)) { output = new Masses.KiloGram(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.MetricTonne)) { output = new Masses.MetricTonne(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Ounce)) { output = new Masses.Ounce(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Pound)) { output = new Masses.Pound(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Stone)) { output = new Masses.Stone(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.UKLongTon)) { output = new Masses.UKLongTon(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.USShortTon)) { output = new Masses.USShortTon(conversion); return(true); } #endregion #region ... Conversion #region Type Unrecognised Debug.AddDetailMessage("No Type for input Mass conversion. Break here for details..."); Debug.AddDetailMessage("----" + capInput); output = new Masses.KiloGram(0); return(false); #endregion }
public static bool TryParse(string input, out IDuration output) { #region Prepare Variables string capInput = input.ToUpperInvariant(); string extraction = input.ExtractNumberComponentFromMeasurementString(); double conversion = 0; #endregion #region Convert To Double bool failed = !double.TryParse(extraction, out conversion); if (failed) { Debug.AddDetailMessage("Measurement Input not successfully converted."); Debug.AddDetailMessage("----" + capInput); output = new Durations.Second(0); return(false); } #endregion #endregion #region Convert To Duration if (capInput.EndsWithAny(Suffixes.Second)) { output = new Durations.Second(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Minute)) { output = new Durations.Minute(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Hour)) { output = new Durations.Hour(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Day)) { output = new Durations.Day(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Week)) { output = new Durations.Week(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Month)) { output = new Durations.Month(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Year)) { output = new Durations.Year(conversion); return(true); } #endregion #region ... Conversion #region Type Unrecognised Debug.AddDetailMessage("No Type for input Duration conversion. Break here for details..."); Debug.AddDetailMessage("----" + capInput); output = new Durations.Second(conversion); return(false); #endregion }
public static bool TryParse(string input, out IVolume output) { #region Prepare Variables string capInput = input.ToUpperInvariant(); string extraction = input.ExtractNumberComponentFromMeasurementString(); double conversion = 0; #endregion #region Convert To Double bool failed = !double.TryParse(extraction, out conversion); if (failed) { Debug.AddDetailMessage("Measurement Input not successfully converted."); Debug.AddDetailMessage("----" + capInput); output = new Volumes.Litre(0); return(false); } #endregion #endregion #region Convert To Volume if (capInput.EndsWithAny(Suffixes.UK.FluidOunce)) { output = new Volumes.FluidOunce(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.UK.Gallon)) { output = new Volumes.UKGallon(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.UK.Pint)) { output = new Volumes.UKPint(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.UK.Quart)) { output = new Volumes.UKQuart(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.UK.TableSpoon)) { output = new Volumes.UKTableSpoon(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.UK.TeaSpoon)) { output = new Volumes.UKTeaSpoon(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.US.Cup)) { output = new Volumes.Cup(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.US.Gallon)) { output = new Volumes.USGallon(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.US.Pint)) { output = new Volumes.USPint(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.US.Quart)) { output = new Volumes.USQuart(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.US.TableSpoon)) { output = new Volumes.USTableSpoon(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.US.TeaSpoon)) { output = new Volumes.USTeaSpoon(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.CubicCentiMeter)) { output = new Volumes.CubicCentiMeter(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.CubicFoot)) { output = new Volumes.CubicFoot(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.CubicInch)) { output = new Volumes.CubicInch(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.CubicMeter)) { output = new Volumes.CubicMeter(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.CubicYard)) { output = new Volumes.CubicYard(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Litre)) { output = new Volumes.Litre(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.MilliLitre)) { output = new Volumes.MilliLitre(conversion); return(true); } #endregion #region ... Conversion #region Type Unrecognised Debug.AddDetailMessage("No Type for input Volume conversion. Break here for details..."); Debug.AddDetailMessage("----" + capInput); output = new Volumes.Litre(0); return(false); #endregion }
public static bool TryParse(string input, out IEnergy output) { #region Prepare Variables string capInput = input.ToUpperInvariant(); string extraction = input.ExtractNumberComponentFromMeasurementString(); double conversion = 0; #endregion #region Convert To Double bool failed = !double.TryParse(extraction, out conversion); if (failed) { Debug.AddDetailMessage("Measurement Input not successfully converted."); Debug.AddDetailMessage("----" + capInput); output = new Energys.KiloJoule(0); return(false); } #endregion #endregion #region Convert To Energy if (capInput.EndsWithAny(Suffixes.BritishThermalUnit)) { output = new Energys.BritishThermalUnit(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.ElectronVolt)) { output = new Energys.ElectronVolt(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.FoodCalorie)) { output = new Energys.FoodCalorie(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.FootPound)) { output = new Energys.FootPound(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Joule)) { output = new Energys.Joule(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.KiloJoule)) { output = new Energys.KiloJoule(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.ThermalCalorie)) { output = new Energys.ThermalCalorie(conversion); return(true); } #endregion #region ... Conversion #region Type Unrecognised Debug.AddDetailMessage("No Type for input Energy conversion. Break here for details..."); Debug.AddDetailMessage("----" + capInput); output = new Energys.KiloJoule(0); return(false); #endregion }
public static bool TryParse(string input, out ISpeed output) { #region Prepare Variables string capInput = input.ToUpperInvariant(); string extraction = input.ExtractNumberComponentFromMeasurementString(); double conversion = 0; #endregion #region Convert To Double bool failed = !double.TryParse(extraction, out conversion); if (failed) { Debug.AddDetailMessage("Measurement Input not successfully converted."); Debug.AddDetailMessage("----" + capInput); output = new Speeds.MeterPerSecond(0); return(false); } #endregion #endregion #region Convert To Speed if (capInput.EndsWithAny(Suffixes.CentiMeterPerSecond)) { output = new Speeds.CentiMeterPerSecond(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.FootPerSecond)) { output = new Speeds.FootPerSecond(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.KiloMeterPerHour)) { output = new Speeds.KiloMeterPerHour(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.Knot)) { output = new Speeds.Knot(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.MachAtSeaLevel)) { output = new Speeds.MachAtSeaLevel(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.MeterPerSecond)) { output = new Speeds.MeterPerSecond(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.MilePerHour)) { output = new Speeds.MilePerHour(conversion); return(true); } if (capInput.EndsWithAny(Suffixes.MilliMeterPerSecond)) { output = new Speeds.MilliMeterPerSecond(conversion); return(true); } #endregion #region ... Conversion #region Type Unrecognised Debug.AddDetailMessage("No Type for input Speed conversion. Break here for details..."); Debug.AddDetailMessage("----" + capInput); output = new Speeds.MeterPerSecond(0); return(false); #endregion }
internal static bool FindAndUpdateSetting(string command, string parameters) { try { #region Split Command string[] commandSplit = command.Split('.'); #endregion #region Find and Modify the Setting. object TargetClass = Settings; PropertyInfo TargetProperty = typeof(SettingsLibrary).GetProperty("Settings", BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Static); for (int i = 0; i < commandSplit.Length; i++) { #region Found a Matching Sub-Class, Move into it. if (i < commandSplit.Length - 1) { try { TargetProperty = TargetProperty.PropertyType.GetProperty(commandSplit[i], BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); TargetClass = TargetProperty.GetValue(TargetClass); } catch (Exception e) { Debug.AddErrorMessage(e, "Setting Not Found: \"" + command + "\"."); return(false); } continue; } #endregion #region Convert the Paramters to an Object PropertyInfo thisProperty = TargetProperty.PropertyType.GetProperty(commandSplit[i], BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); object valueToSet = ConvertParameterStringToObject(thisProperty.PropertyType, parameters, thisProperty.GetValue(TargetClass)); #endregion #region Set the Field to the Converted Value thisProperty.SetValue(TargetClass, valueToSet); Debug.AddDetailMessage("Successfully Read Setting: \"" + command + "\"."); return(true); #endregion } #endregion #region Couldn't Find the Correct Setting. return(false); #endregion } catch (Exception e) { Debug.AddErrorMessage(e, "Error in FindAndUpdateSetting"); return(false); } }