/// <summary> /// Create table row for displayed result /// </summary> /// <param name="result"></param> /// <returns>DialogGUIHorizontalLayout row</returns> private DialogGUIHorizontalLayout CreateListLayoutRow(DisplayedSystemCheckResult result) { DialogGUIHorizontalLayout row = null; if (result.Tooltip.Length > 0) { row = new DialogGUIHorizontalLayout( new DialogGUILabel(result.Label + ":", 100f), new DialogGUILabel(result.Text), new DialogGUISpace(1f), // Add a button with transparent background and label style just to display a tooltip when hovering over it // Transparent sprite is needed to hide button borders TooltipExtension.DeferTooltip(new DialogGUIButton(CommonWindowProperties.transparent, "(?)", () => { }, 17f, 18f, false) { tooltipText = result.Tooltip, guiStyle = CommonWindowProperties.Style_Button_Label }) ); } else { row = new DialogGUIHorizontalLayout( new DialogGUILabel(result.Label + ":", 100f), new DialogGUILabel(result.Text) ); } return(row); }
internal override List <DisplayedSystemCheckResult[]> GetDisplayedSystemCheckResults() { base.GetDisplayedSystemCheckResults(); DisplayedSystemCheckResult[] result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = false, Label = Localizer.Format("#LOC_BV_Control_AverageSpeed"), Text = averageSpeed.ToString("F") + " m/s", Tooltip = "" } }; displayedSystemCheckResults.Add(result); return(displayedSystemCheckResults); }
internal override List <DisplayedSystemCheckResult> GetDisplayedSystemCheckResults() { base.GetDisplayedSystemCheckResults(); DisplayedSystemCheckResult result = new DisplayedSystemCheckResult { Label = Localizer.Format("#LOC_BV_Control_AverageSpeed"), Text = averageSpeed.ToString("F") + " m/s", Tooltip = averageSpeed > 0 ? Localizer.Format("#LOC_BV_Control_SpeedBase") + ": " + maxSpeedBase.ToString("F") + " m/s\n" + Localizer.Format("#LOC_BV_Control_WheelsModifier") + ": " + wheelsPercentualModifier.ToString("F") + "%\n" + (manned ? Localizer.Format("#LOC_BV_Control_DriverBonus") + ": " + crewSpeedBonus.ToString() + "%\n" : Localizer.Format("#LOC_BV_Control_UnmannedPenalty") + ": 80%\n") + (SpeedReduction > 0 ? Localizer.Format("#LOC_BV_Control_PowerPenalty") + ": " + (SpeedReduction > 75 ? "100" : SpeedReduction.ToString("F")) + "%\n" : "") + Localizer.Format("#LOC_BV_Control_SpeedAtNight") + ": " + averageSpeedAtNight.ToString("F") + " m/s" : Localizer.Format("#LOC_BV_Control_WheelsNotOnline") }; displayedSystemCheckResults.Add(result); result = new DisplayedSystemCheckResult { Label = Localizer.Format("#LOC_BV_Control_GeneratedPower"), Text = (electricPower_Solar + electricPower_Other).ToString("F"), Tooltip = Localizer.Format("#LOC_BV_Control_SolarPower") + ": " + electricPower_Solar.ToString("F") + "\n" + Localizer.Format("#LOC_BV_Control_GeneratorPower") + ": " + electricPower_Other.ToString("F") }; displayedSystemCheckResults.Add(result); result = new DisplayedSystemCheckResult { Label = Localizer.Format("#LOC_BV_Control_RequiredPower"), Text = requiredPower.ToString("F") + (SpeedReduction == 0 ? "" : (((SpeedReduction > 0) && (SpeedReduction <= 75)) ? " (" + Localizer.Format("#LOC_BV_Control_PowerReduced") + " " + SpeedReduction.ToString("F") + "%)" : " (" + Localizer.Format("#LOC_BV_Control_NotEnoughPower") + ")")), Tooltip = "" }; displayedSystemCheckResults.Add(result); return(displayedSystemCheckResults); }
internal virtual List <DisplayedSystemCheckResult[]> GetDisplayedSystemCheckResults() { if (displayedSystemCheckResults == null) // Just to be sure { displayedSystemCheckResults = new List <DisplayedSystemCheckResult[]>(); } displayedSystemCheckResults.Clear(); DisplayedSystemCheckResult[] result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = false, Label = Localizer.Format("#LOC_BV_Control_TargetLat"), Text = targetLatitude.ToString("0.####"), Tooltip = "" } }; displayedSystemCheckResults.Add(result); result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = false, Label = Localizer.Format("#LOC_BV_Control_TargetLon"), Text = targetLongitude.ToString("0.####"), Tooltip = "" } }; displayedSystemCheckResults.Add(result); result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = false, Label = Localizer.Format("#LOC_BV_Control_Distance"), Text = Tools.ConvertDistanceToText(RemainingDistanceToTarget), Tooltip = "" } }; displayedSystemCheckResults.Add(result); return(displayedSystemCheckResults); }
internal override List <DisplayedSystemCheckResult[]> GetDisplayedSystemCheckResults() { base.GetDisplayedSystemCheckResults(); DisplayedSystemCheckResult[] result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = false, Label = Localizer.Format("#LOC_BV_Control_AverageSpeed"), Text = averageSpeed.ToString("F") + " m/s", Tooltip = averageSpeed > 0 ? Localizer.Format("#LOC_BV_Control_SpeedBase") + ": " + maxSpeedBase.ToString("F") + " m/s\n" + Localizer.Format("#LOC_BV_Control_WheelsModifier") + ": " + wheelsPercentualModifier.ToString("F") + "%\n" + (manned ? Localizer.Format("#LOC_BV_Control_DriverBonus") + ": " + crewSpeedBonus.ToString() + "%\n" : Localizer.Format("#LOC_BV_Control_UnmannedPenalty") + ": " + GetUnmannedSpeedPenalty().ToString() + "%\n") + (SpeedReduction > 0 ? Localizer.Format("#LOC_BV_Control_PowerPenalty") + ": " + (SpeedReduction > 75 ? "100" : SpeedReduction.ToString("F")) + "%\n" : "") + Localizer.Format("#LOC_BV_Control_SpeedAtNight") + ": " + averageSpeedAtNight.ToString("F") + " m/s" : Localizer.Format("#LOC_BV_Control_WheelsNotOnline") } }; displayedSystemCheckResults.Add(result); result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = false, Label = Localizer.Format("#LOC_BV_Control_GeneratedPower"), Text = (electricPower_Solar + electricPower_Other).ToString("F"), Tooltip = Localizer.Format("#LOC_BV_Control_SolarPower") + ": " + electricPower_Solar.ToString("F") + "\n" + Localizer.Format("#LOC_BV_Control_GeneratorPower") + ": " + electricPower_Other.ToString("F") + "\n" + Localizer.Format("#LOC_BV_Control_UseBatteries_Usage") + ": " + (batteries.UseBatteries ? (batteries.MaxUsedEC.ToString("F0") + " / " + batteries.MaxAvailableEC.ToString("F0") + " EC") : Localizer.Format("#LOC_BV_Control_No")) } }; displayedSystemCheckResults.Add(result); double speedReduction = SpeedReduction; result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = false, Label = Localizer.Format("#LOC_BV_Control_RequiredPower"), Text = requiredPower.ToString("F") + (speedReduction == 0 ? "" : (((speedReduction > 0) && (speedReduction <= 75)) ? " (" + Localizer.Format("#LOC_BV_Control_PowerReduced") + " " + speedReduction.ToString("F") + "%)" : " (" + Localizer.Format("#LOC_BV_Control_NotEnoughPower") + ")")), Tooltip = "" } }; displayedSystemCheckResults.Add(result); result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = true, Text = Localizer.Format("#LOC_BV_Control_UseBatteries"), Tooltip = Localizer.Format("#LOC_BV_Control_UseBatteries_Tooltip"), GetToggleValue = GetUseBatteries, ToggleSelectedCallback = UseBatteriesChanged } }; displayedSystemCheckResults.Add(result); result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = true, Text = Localizer.Format("#LOC_BV_Control_UseFuelCells"), Tooltip = Localizer.Format("#LOC_BV_Control_UseFuelCellsTooltip"), GetToggleValue = GetUseFuelCells, ToggleSelectedCallback = UseFuelCellsChanged } }; displayedSystemCheckResults.Add(result); return(displayedSystemCheckResults); }
internal override List <DisplayedSystemCheckResult[]> GetDisplayedSystemCheckResults() { base.GetDisplayedSystemCheckResults(); DisplayedSystemCheckResult[] result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = false, Label = Localizer.Format("#LOC_BV_Control_AverageSpeed"), Text = averageSpeed.ToString("F") + " m/s", Tooltip = Localizer.Format("#LOC_BV_Control_SpeedBase") + ": " + maxSpeedBase.ToString("F") + " m/s\n" + (manned ? Localizer.Format("#LOC_BV_Control_DriverBonus") + ": " + crewSpeedBonus.ToString() + "%\n" : Localizer.Format("#LOC_BV_Control_UnmannedPenalty") + ": " + GetUnmannedSpeedPenalty().ToString() + "%\n") + Localizer.Format("#LOC_BV_Control_SpeedAtNight") + ": " + averageSpeedAtNight.ToString("F") + " m/s\n" + Localizer.Format("#LOC_BV_Control_UsedThrust") + ": " + engineTestResult.maxThrustSum.ToString("F") + " kN" } }; displayedSystemCheckResults.Add(result); if (requiredPower > 0) { double speedReduction = SpeedReduction; result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = false, Label = Localizer.Format("#LOC_BV_Control_ElectricPower"), Text = requiredPower.ToString("F") + " / " + (electricPower_Solar + electricPower_Other).ToString("F"), Tooltip = Localizer.Format("#LOC_BV_Control_RequiredPower") + ": " + requiredPower.ToString("F") + (speedReduction == 0 ? "" : (((speedReduction > 0) && (speedReduction <= 87)) ? " (" + Localizer.Format("#LOC_BV_Control_PowerReduced") + " " + speedReduction.ToString("F") + "%)" : " (" + Localizer.Format("#LOC_BV_Control_NotEnoughPower") + ")")) + "\n" + Localizer.Format("#LOC_BV_Control_SolarPower") + ": " + electricPower_Solar.ToString("F") + "\n" + Localizer.Format("#LOC_BV_Control_GeneratorPower") + ": " + electricPower_Other.ToString("F") } }; displayedSystemCheckResults.Add(result); } result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = false, Label = Localizer.Format("#LOC_BV_Control_Throttle"), Text = "", Tooltip = Localizer.Format("#LOC_BV_Control_Throttle_Tooltip") } }; displayedSystemCheckResults.Add(result); result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = true, Text = "100%", Tooltip = "", GetToggleValue = GetThrottle100, ToggleSelectedCallback = UseThrottle100 }, new DisplayedSystemCheckResult { Toggle = true, Text = "75%", Tooltip = "", GetToggleValue = GetThrottle75, ToggleSelectedCallback = UseThrottle75 }, new DisplayedSystemCheckResult { Toggle = true, Text = "50%", Tooltip = "", GetToggleValue = GetThrottle50, ToggleSelectedCallback = UseThrottle50 } }; displayedSystemCheckResults.Add(result); result = new DisplayedSystemCheckResult[] { new DisplayedSystemCheckResult { Toggle = true, Text = "25%", Tooltip = "", GetToggleValue = GetThrottle25, ToggleSelectedCallback = UseThrottle25 } }; displayedSystemCheckResults.Add(result); return(displayedSystemCheckResults); }