/// <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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }
예제 #5
0
        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);
        }
예제 #6
0
        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);
        }