Example #1
0
        void Start()
        {
            this.Log("Start, new game = " + gameSettings.IsNewSave);
            button.Visible = true;

            if (gameSettings.IsNewSave)
            {
                this.Log("New save detected!");
                configWindow.SetVisible(true);
                gameSettings.IsNewSave = false;
            }

            AddLifeSupport als = new AddLifeSupport(globalSettings);

            als.run();

            var crew      = HighLogic.CurrentGame.CrewRoster.Crew;
            var knownCrew = gameSettings.knownCrew;

            foreach (ProtoCrewMember crewMember in crew)
            {
                if (crewMember.rosterStatus != ProtoCrewMember.RosterStatus.Assigned && knownCrew.ContainsKey(crewMember.name))
                {
                    this.Log("Deleting crew member: " + crewMember.name);
                    knownCrew.Remove(crewMember.name);
                }
            }
        }
Example #2
0
        void Start()
        {
            this.Log("Start, new game = " + TacLifeSupport.Instance.gameSettings.IsNewSave);
            if (HighLogic.CurrentGame.Parameters.CustomParams <TAC_SettingsParms>().enabled)
            {
                if (TacLifeSupport.Instance.gameSettings.IsNewSave)
                {
                    this.Log("New save detected!");
                    //TACMenuAppLToolBar.onAppLaunchToggle();
                    Vector2 anchormin = new Vector2(0.5f, 0.5f);
                    Vector2 anchormax = new Vector2(0.5f, 0.5f);
                    string  msg       =
                        "TAC LS Config Settings are now available via the KSP Settings - Difficulty Options Window.";
                    string          title         = "TAC Life Support";
                    UISkinDef       skin          = HighLogic.UISkin;
                    DialogGUIBase[] dialogGUIBase = new DialogGUIBase[1];
                    dialogGUIBase[0] = new DialogGUIButton("Ok", delegate { });
                    PopupDialog.SpawnPopupDialog(anchormin, anchormax,
                                                 new MultiOptionDialog(msg, title, skin, dialogGUIBase), false, HighLogic.UISkin, true,
                                                 string.Empty);
                    TacLifeSupport.Instance.gameSettings.IsNewSave = false;
                }

                AddLifeSupport als = new AddLifeSupport();
                als.run();
            }
            else
            {
                Destroy(this);
            }
        }
Example #3
0
        void Start()
        {
            this.Log("Start, new game = " + TacLifeSupport.Instance.gameSettings.IsNewSave);
            if (HighLogic.CurrentGame.Parameters.CustomParams <TAC_SettingsParms>().enabled)
            {
                //Disabled this Pop-Up - Think most players known by now.

                /*if (TacLifeSupport.Instance.gameSettings.IsNewSave)
                 * {
                 *  this.Log("New save detected!");
                 *  //TACMenuAppLToolBar.onAppLaunchToggle();
                 *  Vector2 anchormin = new Vector2(0.5f, 0.5f);
                 *  Vector2 anchormax = new Vector2(0.5f, 0.5f);
                 *  string msg = Localizer.Format("#autoLOC_TACLS_00036"); //#autoLOC_TACLS_00036 = TAC LS Config Settings are now available via the KSP Settings - Difficulty Options Window.
                 *  string title = Localizer.Format("#autoLOC_TACLS_00037");  //#autoLOC_TACLS_00037 = TAC Life Support
                 *  UISkinDef skin = HighLogic.UISkin;
                 *  DialogGUIBase[] dialogGUIBase = new DialogGUIBase[1];
                 *  dialogGUIBase[0] = new DialogGUIButton(Localizer.Format("#autoLOC_417274"), delegate { });  // #autoLOC_417274 = Ok
                 *  PopupDialog.SpawnPopupDialog(anchormin, anchormax,
                 *      new MultiOptionDialog("TACReminder", msg, title, skin, dialogGUIBase), false, HighLogic.UISkin, true,
                 *      string.Empty);
                 *  //TacLifeSupport.Instance.gameSettings.IsNewSave = false;
                 * }*/
                TacLifeSupport.Instance.gameSettings.IsNewSave = false;
                AddLifeSupport als = new AddLifeSupport();
                als.run();
            }
            else
            {
                Destroy(this);
            }
        }
Example #4
0
 public override void OnSave(ConfigNode node)
 {
     if (FirstRun)
     {
         FirstRun = false;
         return;
     }
     else
     {
         //Convert Hourly amounts from UI back to per second.
         TacStartOnce.Instance.globalSettings.MaxDeltaTime              = MaxDeltaTime;
         TacStartOnce.Instance.globalSettings.ElectricityMaxDeltaTime   = ElectricityMaxDeltaTime;
         TacStartOnce.Instance.globalSettings.MaxTimeWithoutFood        = MaxTimeWithoutFood * 60 * 60;
         TacStartOnce.Instance.globalSettings.MaxTimeWithoutOxygen      = MaxTimeWithoutOxygen * 60;
         TacStartOnce.Instance.globalSettings.MaxTimeWithoutWater       = MaxTimeWithoutWater * 60 * 60;
         TacStartOnce.Instance.globalSettings.MaxTimeWithoutElectricity = MaxTimeWithoutElectricity * 60;
         double TOLERANCE = 1;
         if (Math.Abs(TacStartOnce.Instance.globalSettings.EvaDefaultResourceAmount - EvaDefaultResourceAmount) > TOLERANCE)
         {
             TacStartOnce.Instance.globalSettings.EvaDefaultResourceAmount = EvaDefaultResourceAmount;
             //Change EVA resource values
             AddLifeSupport als = new AddLifeSupport();
             als.ChangeValues();
         }
     }
 }
Example #5
0
        public override void OnSave(ConfigNode node)
        {
            if (FirstRun)
            {
                FirstRun = false;
                return;
            }
            else
            {
                var hoursDay = GameSettings.KERBIN_TIME ? 6 : 24;
                TacStartOnce.Instance.globalSettings.FoodConsumptionRate               = FoodConsumptionRate / 60 / 60 / hoursDay;
                TacStartOnce.Instance.globalSettings.WaterConsumptionRate              = WaterConsumptionRate / 60 / 60 / hoursDay;
                TacStartOnce.Instance.globalSettings.OxygenConsumptionRate             = OxygenConsumptionRate / 60 / 60 / hoursDay;
                TacStartOnce.Instance.globalSettings.BaseElectricityConsumptionRate    = BaseElectricityConsumptionRate / 60 / 60 / hoursDay;
                TacStartOnce.Instance.globalSettings.ElectricityConsumptionRate        = ElectricityConsumptionRate / 60 / 60 / hoursDay;
                TacStartOnce.Instance.globalSettings.EvaElectricityConsumptionRate     = EvaElectricityConsumptionRate / 60;
                TacStartOnce.Instance.globalSettings.EvaLampElectricityConsumptionRate = EvaLampElectricityConsumptionRate / 60;
                TacStartOnce.Instance.globalSettings.CO2ProductionRate        = CO2ProductionRate / 60 / 60 / hoursDay;
                TacStartOnce.Instance.globalSettings.WasteProductionRate      = WasteProductionRate / 60 / 60 / hoursDay;
                TacStartOnce.Instance.globalSettings.WasteWaterProductionRate = WasteWaterProductionRate / 60 / 60 / hoursDay;

                //Change EVA resource values
                AddLifeSupport als = new AddLifeSupport();
                als.ChangeValues();
            }
        }
Example #6
0
        public override void OnSave(ConfigNode node)
        {
            if (upgrade135)
            {
                //Save the actual per second values that TAC LS uses.
                node.SetValue("FoodConsumptionRate", FoodConsumptionRate);
                node.SetValue("WaterConsumptionRate", WaterConsumptionRate);
                node.SetValue("OxygenConsumptionRate", OxygenConsumptionRate);
                node.SetValue("BaseElectricityConsumptionRate", BaseElectricityConsumptionRate);
                node.SetValue("ElectricityConsumptionRate", ElectricityConsumptionRate);
                node.SetValue("EvaElectricityConsumptionRate", EvaElectricityConsumptionRate);
                node.SetValue("EvaLampElectricityConsumptionRate", EvaLampElectricityConsumptionRate);
                node.SetValue("CO2ProductionRate", CO2ProductionRate);
                node.SetValue("WasteProductionRate", WasteProductionRate);
                node.SetValue("WasteWaterProductionRate", WasteWaterProductionRate);
                OnLoad(node);
                node.SetValue("displayFoodConsumptionRate", displayFoodConsumptionRate);
                node.SetValue("displayWaterConsumptionRate", displayWaterConsumptionRate);
                node.SetValue("displayOxygenConsumptionRate", displayOxygenConsumptionRate);
                node.SetValue("displayBaseElectricityConsumptionRate", displayBaseElectricityConsumptionRate);
                node.SetValue("displayElectricityConsumptionRate", displayElectricityConsumptionRate);
                node.SetValue("displayEvaElectricityConsumptionRate", displayEvaElectricityConsumptionRate);
                node.SetValue("displayEvaLampElectricityConsumptionRate", displayEvaLampElectricityConsumptionRate);
                node.SetValue("displayCO2ProductionRate", displayCO2ProductionRate);
                node.SetValue("displayWasteProductionRate", displayWasteProductionRate);
                node.SetValue("displayWasteWaterProductionRate", displayWasteWaterProductionRate);
                upgrade135 = false;
                node.SetValue("upgrade135", false);
                return;
            }
            if (HighLogic.LoadedScene != GameScenes.MAINMENU)
            {   //Change EVA resource values
                AddLifeSupport als = new AddLifeSupport();
                als.ChangeValues();
            }
            //Set the actual values from the display values at per second values.
            float hoursDay = GameSettings.KERBIN_TIME ? 6f : 24f;

            FoodConsumptionRate               = displayFoodConsumptionRate / 60f / 60f / hoursDay;
            WaterConsumptionRate              = displayWaterConsumptionRate / 60f / 60f / hoursDay;
            OxygenConsumptionRate             = displayOxygenConsumptionRate / 60f / 60f / hoursDay;
            BaseElectricityConsumptionRate    = displayBaseElectricityConsumptionRate / 60f / 60f / hoursDay;
            ElectricityConsumptionRate        = displayElectricityConsumptionRate / 60f / 60f / hoursDay;
            EvaElectricityConsumptionRate     = displayEvaElectricityConsumptionRate / 60f;
            EvaLampElectricityConsumptionRate = displayEvaLampElectricityConsumptionRate / 60f;
            CO2ProductionRate        = displayCO2ProductionRate / 60f / 60f / hoursDay;
            WasteProductionRate      = displayWasteProductionRate / 60f / 60f / hoursDay;
            WasteWaterProductionRate = displayWasteWaterProductionRate / 60 / 60 / hoursDay;
            //Save the actual per second values that TAC LS uses.
            node.SetValue("FoodConsumptionRate", FoodConsumptionRate);
            node.SetValue("WaterConsumptionRate", WaterConsumptionRate);
            node.SetValue("OxygenConsumptionRate", OxygenConsumptionRate);
            node.SetValue("BaseElectricityConsumptionRate", BaseElectricityConsumptionRate);
            node.SetValue("ElectricityConsumptionRate", ElectricityConsumptionRate);
            node.SetValue("EvaElectricityConsumptionRate", EvaElectricityConsumptionRate);
            node.SetValue("EvaLampElectricityConsumptionRate", EvaLampElectricityConsumptionRate);
            node.SetValue("CO2ProductionRate", CO2ProductionRate);
            node.SetValue("WasteProductionRate", WasteProductionRate);
            node.SetValue("WasteWaterProductionRate", WasteWaterProductionRate);
        }
        void Start()
        {
            this.Log("Start, new game = " + TacLifeSupport.Instance.gameSettings.IsNewSave);
            if (HighLogic.CurrentGame.Parameters.CustomParams<TAC_SettingsParms>().enabled)
            {
                if (TacLifeSupport.Instance.gameSettings.IsNewSave)
                {
                    this.Log("New save detected!");
                    //TACMenuAppLToolBar.onAppLaunchToggle();
                    Vector2 anchormin = new Vector2(0.5f, 0.5f);
                    Vector2 anchormax = new Vector2(0.5f, 0.5f);
                    string msg =
                        "TAC LS Config Settings are now available via the KSP Settings - Difficulty Options Window.";
                    string title = "TAC Life Support";
                    UISkinDef skin = HighLogic.UISkin;
                    DialogGUIBase[] dialogGUIBase = new DialogGUIBase[1];
                    dialogGUIBase[0] = new DialogGUIButton("Ok", delegate { });
                    PopupDialog.SpawnPopupDialog(anchormin, anchormax,
                        new MultiOptionDialog(msg, title, skin, dialogGUIBase), false, HighLogic.UISkin, true,
                        string.Empty);
                    TacLifeSupport.Instance.gameSettings.IsNewSave = false;
                }

                AddLifeSupport als = new AddLifeSupport();
                als.run();
            }
            else
            {
                Destroy(this);
            }
        }
        void Start()
        {
            this.Log("Start, new game = " + gameSettings.IsNewSave);
            button.Visible = true;

            if (gameSettings.IsNewSave)
            {
                this.Log("New save detected!");
                configWindow.SetVisible(true);
                gameSettings.IsNewSave = false;
            }

            AddLifeSupport als = new AddLifeSupport(globalSettings);
            als.run();

            var crew = HighLogic.CurrentGame.CrewRoster.Crew;
            var knownCrew = gameSettings.knownCrew;
            foreach (ProtoCrewMember crewMember in crew)
            {
                if (crewMember.rosterStatus != ProtoCrewMember.RosterStatus.Assigned && knownCrew.ContainsKey(crewMember.name))
                {
                    this.Log("Deleting crew member: " + crewMember.name);
                    knownCrew.Remove(crewMember.name);
                }
            }
        }