Exemple #1
0
        public void SetupPrefab()
        {
            if (part != null)
            {
                var maxHitPoints_ = CalculateTotalHitpoints();

                if (!_forceUpdateHitpointsUI && previousHitpoints == maxHitPoints_)
                {
                    return;
                }

                //Add Hitpoints
                UI_ProgressBar damageFieldFlight = (UI_ProgressBar)Fields["Hitpoints"].uiControlFlight;
                damageFieldFlight.maxValue = maxHitPoints_;
                damageFieldFlight.minValue = 0f;

                UI_ProgressBar damageFieldEditor = (UI_ProgressBar)Fields["Hitpoints"].uiControlEditor;
                damageFieldEditor.maxValue = maxHitPoints_;
                damageFieldEditor.minValue = 0f;

                Hitpoints = maxHitPoints_;

                //Add Armor
                UI_FloatRange armorFieldFlight = (UI_FloatRange)Fields["Armor"].uiControlFlight;
                armorFieldFlight.maxValue = 1500f;
                armorFieldFlight.minValue = 0f;

                UI_FloatRange armorFieldEditor = (UI_FloatRange)Fields["Armor"].uiControlEditor;
                armorFieldEditor.maxValue = 1500f;
                armorFieldEditor.minValue = 0f;
                part.RefreshAssociatedWindows();

                if (!ArmorSet)
                {
                    overrideArmorSetFromConfig();
                }

                previousHitpoints = maxHitPoints_;
            }
            else
            {
                if (BDArmorySettings.DRAW_DEBUG_LABELS)
                {
                    Debug.Log("[BDArmory.HitpointTracker]: OnStart part is null");
                }
            }
        }
Exemple #2
0
        protected virtual void SetupPrefab()
        {
            if (part != null)
            {
                var maxHitPoints_ = CalculateTotalHitpoints();

                if (previousHitpoints == maxHitPoints_)
                {
                    return;
                }

                //Add Hitpoints
                UI_ProgressBar damageFieldFlight = (UI_ProgressBar)Fields["Hitpoints"].uiControlFlight;
                damageFieldFlight.maxValue = maxHitPoints_;
                damageFieldFlight.minValue = 0f;

                UI_ProgressBar damageFieldEditor = (UI_ProgressBar)Fields["Hitpoints"].uiControlEditor;
                damageFieldEditor.maxValue = maxHitPoints_;
                damageFieldEditor.minValue = 0f;

                Hitpoints = maxHitPoints_;

                //Add Armor
                UI_FloatRange armorFieldFlight = (UI_FloatRange)Fields["Armor"].uiControlFlight;
                armorFieldFlight.maxValue = 500f;
                armorFieldFlight.minValue = 10;

                UI_FloatRange armorFieldEditor = (UI_FloatRange)Fields["Armor"].uiControlEditor;
                armorFieldEditor.maxValue = 500f;
                armorFieldEditor.minValue = 10f;

                part.RefreshAssociatedWindows();

                if (!ArmorSet)
                {
                    overrideArmorSetFromConfig();
                }

                previousHitpoints = Hitpoints;
            }
            else
            {
                Debug.Log("[BDArmory]: HitpointTracker::OnStart part  is null");
            }
        }
        private void setupUI()
        {
            BaseField field = Fields["liftingGas"];

            if (field != null)
            {
                UI_ChooseOption uiChooser = (UI_ChooseOption)field.uiControlEditor;

                if (uiChooser != null)
                {
                    Log.post("setting up UI for LiftingGasOptions");
                    //uiChooser.options = liftingGasOptions.Select<LiftingGas, string>(a => a.displayName).ToArray();
                    uiChooser.options = (from lgo in liftingGasOptions
                                         where lgo.deprecated == false
                                         select lgo.displayName).ToArray();
                }
            }

            field = Fields["ballonetPercentage"];
            if (field != null)
            {
                UI_FloatEdit uiEdit = (UI_FloatEdit)field.uiControlEditor;

                if (uiEdit != null)
                {
                    Log.post("setting up UI for ballonetPercentage");
                    if (ballonetPercentageMax > 0.0f)
                    {
                        uiEdit.maxValue = ballonetPercentageMax;
                    }
                    else
                    {
                        field.guiActive       = false;
                        field.guiActiveEditor = false;
                    }
                }
            }

            field = Fields["pStatus"];
            if (field != null)
            {
                UI_ProgressBar uiProg = (UI_ProgressBar)field.uiControlEditor;
                if (uiProg != null)
                {
                    Log.post("setting up pStatus");
                    uiProg.maxValue = pressureTolerance;
                    uiProg.minValue = -pressureTolerance;
                }

                uiProg = (UI_ProgressBar)field.uiControlFlight;
                if (uiProg != null)
                {
                    Log.post("setting up pStatus");
                    uiProg.maxValue = idealRelPressure + pressureTolerance;
                    uiProg.minValue = idealRelPressure - pressureTolerance;
                }
            }

            field = Fields["envelopeVolume"];
            if (field != null)
            {
                Log.post("setting up ui envelope Volume");
                field.guiActive       = Preferences.showVolumeInfoInFlight;
                field.guiActiveEditor = Preferences.showVolumeInfoInEditor;
            }

            field = Fields["envelopeVolumeNetUI"];
            if (field != null)
            {
                Log.post("setting up ui envelope Volume Net");
                field.guiActive       = Preferences.showVolumeInfoInFlight;
                field.guiActiveEditor = Preferences.showVolumeInfoInEditor;
            }

            field = Fields["ballonetVolumeMax"];
            if (field != null)
            {
                Log.post("setting up ui ballonet vol max");
                field.guiActive       = Preferences.showVolumeInfoInFlight;
                field.guiActiveEditor = Preferences.showVolumeInfoInEditor;
            }

            field = Fields["temperature"];
            if (field != null)
            {
                Log.post("setting up ui temperature");
                if (null == ProcAirships.Instance)
                {
                    Log.post("behaviour ProcAirships not jet instantiated", LogLevel.LOG_ERROR);
                }
                else
                {
                    field.guiActive       = ProcAirships.Instance.showTemperatureInFlight;
                    field.guiActiveEditor = Preferences.showTemperatureInEditor;
                }
            }

            field = Fields["absolutePressure"];
            if (field != null)
            {
                Log.post("setting up ui abs pressure");
                field.guiActive       = Preferences.showAbsPressureInFlight;
                field.guiActiveEditor = Preferences.showAbsPressureInEditor;
            }
        }
Exemple #4
0
        public float GetMaxHitpoints()
        {
            UI_ProgressBar hitpointField = (UI_ProgressBar)Fields["Hitpoints"].uiControlEditor;

            return(hitpointField.maxValue);
        }