private void GuiOn() { renderDisplay = true; //Load initial values config = LifeSupportScenario.Instance.settings.GetSettings(); supplyTime = string.Format("{0:0.########}", config.SupplyTime); ecTime = string.Format("{0:0.########}", config.ECTime); evaTime = string.Format("{0:0.########}", config.EVATime); ecAmount = string.Format("{0:0.########}", config.ECAmount); supplyAmount = string.Format("{0:0.########}", config.SupplyAmount); wasteAmount = string.Format("{0:0.########}", config.WasteAmount); wearAmount = string.Format("{0:0.########}", config.ReplacementPartAmount); supNoVet = config.NoSupplyEffect; supVet = config.NoSupplyEffectVets; habNoVet = config.NoHomeEffect; habVet = config.NoHomeEffectVets; ecNoVet = config.NoECEffect; ecVet = config.NoECEffectVets; evaNoVet = config.EVAEffect; evaVet = config.EVAEffectVets; habMulti = string.Format("{0:0.########}", config.HabMultiplier); enableRecyclers = config.EnableRecyclers; scoutHabTime = config.ScoutHabTime.ToString(); permaHabTime = config.PermaHabTime.ToString(); habRange = config.HabRange.ToString(); homeAltitude = config.HomeWorldAltitude.ToString(); baseHabTime = config.BaseHabTime.ToString(); vetNames = config.VetNames; }
private LifeSupportConfig LoadLifeSupportConfig() { var lsNodes = GameDatabase.Instance.GetConfigNodes("LIFE_SUPPORT_SETTINGS"); var finalSettings = new LifeSupportConfig { HabMultiplier = int.MaxValue, BaseHabTime = double.MaxValue, ECAmount = 0f, EVAEffect = 0, EVAEffectVets = 0, EVATime = float.MaxValue, HomeWorldAltitude = int.MaxValue, NoHomeEffect = 0, NoHomeEffectVets = 0, NoSupplyEffect = 0, NoSupplyEffectVets = 0, SupplyTime = float.MaxValue, ECTime = float.MaxValue, NoECEffectVets = 0, NoECEffect = 0, SupplyAmount = 0f, WasteAmount = 0f, ReplacementPartAmount = 0f, EnableRecyclers = false, HabRange = 2000, VetNames = "" }; foreach (var lsNode in lsNodes) { var settings = ResourceUtilities.LoadNodeProperties<LifeSupportConfig>(lsNode); finalSettings.HabMultiplier = Math.Min(settings.HabMultiplier, finalSettings.HabMultiplier); finalSettings.BaseHabTime = Math.Min(settings.BaseHabTime, finalSettings.BaseHabTime); finalSettings.HomeWorldAltitude = Math.Min(settings.HomeWorldAltitude, finalSettings.HomeWorldAltitude); finalSettings.NoHomeEffect = Math.Max(settings.NoHomeEffect, finalSettings.NoHomeEffect); finalSettings.NoHomeEffectVets = Math.Max(settings.NoHomeEffectVets, finalSettings.NoHomeEffectVets); finalSettings.NoSupplyEffect = Math.Max(settings.NoSupplyEffect, finalSettings.NoSupplyEffect); finalSettings.NoSupplyEffectVets = Math.Max(settings.NoSupplyEffectVets, finalSettings.NoSupplyEffectVets); if(settings.ECTime > ResourceUtilities.FLOAT_TOLERANCE) finalSettings.ECTime = Math.Min(settings.ECTime, finalSettings.ECTime); if (settings.EVATime > ResourceUtilities.FLOAT_TOLERANCE) finalSettings.EVATime = Math.Min(settings.EVATime, finalSettings.EVATime); if (settings.SupplyTime > ResourceUtilities.FLOAT_TOLERANCE) finalSettings.SupplyTime = Math.Min(settings.SupplyTime, finalSettings.SupplyTime); finalSettings.SupplyAmount = Math.Max(settings.SupplyAmount, finalSettings.SupplyAmount); finalSettings.ECAmount = Math.Max(settings.ECAmount, finalSettings.ECAmount); finalSettings.NoECEffect = Math.Max(settings.NoECEffect, finalSettings.NoECEffect); finalSettings.NoECEffectVets = Math.Max(settings.NoECEffectVets, finalSettings.NoECEffectVets); finalSettings.WasteAmount = Math.Max(settings.WasteAmount, finalSettings.WasteAmount); finalSettings.ReplacementPartAmount = Math.Max(settings.ReplacementPartAmount, finalSettings.ReplacementPartAmount); finalSettings.EVAEffect = Math.Max(settings.EVAEffect, finalSettings.EVAEffect); finalSettings.EVAEffectVets = Math.Max(settings.EVAEffectVets, finalSettings.EVAEffectVets); finalSettings.VetNames += settings.VetNames + ","; finalSettings.HabRange = Math.Min(settings.HabRange, finalSettings.HabRange); if (settings.EnableRecyclers) finalSettings.EnableRecyclers = true; } return finalSettings; }
public void SaveConfig(LifeSupportConfig config) { _Settings.HabMultiplier = config.HabMultiplier; _Settings.BaseHabTime = config.BaseHabTime; _Settings.ECAmount = config.ECAmount; _Settings.PermaHabTime = config.PermaHabTime; _Settings.ScoutHabTime = config.ScoutHabTime; _Settings.EVAEffect = config.EVAEffect; _Settings.EVAEffectVets = config.EVAEffectVets; _Settings.EVATime = config.EVATime; _Settings.HomeWorldAltitude = config.HomeWorldAltitude; _Settings.NoHomeEffect = config.NoHomeEffect; _Settings.NoHomeEffectVets = config.NoHomeEffectVets; _Settings.NoSupplyEffect = config.NoSupplyEffect; _Settings.NoSupplyEffectVets = config.NoSupplyEffectVets; _Settings.SupplyTime = config.SupplyTime; _Settings.ECTime = config.ECTime; _Settings.NoECEffectVets = config.NoECEffectVets; _Settings.NoECEffect = config.NoECEffect; _Settings.SupplyAmount = config.SupplyAmount; _Settings.WasteAmount = config.WasteAmount; _Settings.ReplacementPartAmount = config.ReplacementPartAmount; _Settings.EnableRecyclers = config.EnableRecyclers; _Settings.HabRange = config.HabRange; _Settings.VetNames = config.VetNames; }
private LifeSupportConfig SetupSettings() { print("Loading Config"); ConfigNode[] statNodes = SettingsNode.GetNodes("LIFE_SUPPORT_CONFIG"); print("StatNodeCount: " + statNodes.Count()); LifeSupportConfig tmpSettings = null; var defSettings = LoadLifeSupportConfig(); if (statNodes.Any()) { tmpSettings = ImportConfig(statNodes[0]); //Guard clauses if (tmpSettings.ECTime < ResourceUtilities.FLOAT_TOLERANCE) { tmpSettings.ECTime = defSettings.ECTime; } if (tmpSettings.SupplyAmount < ResourceUtilities.FLOAT_TOLERANCE) { tmpSettings.SupplyAmount = defSettings.SupplyAmount; } } else { tmpSettings = LoadLifeSupportConfig(); } return(tmpSettings); }
private void SaveSettings(LifeSupportConfig config) { config.SupplyTime = SaveFloat(config.SupplyTime, supplyTime); config.ECTime = SaveFloat(config.ECTime, ecTime); config.EVATime = SaveFloat(config.EVATime, evaTime); config.ECAmount = SaveFloat(config.ECAmount, ecAmount); config.SupplyAmount = SaveFloat(config.SupplyAmount, supplyAmount); config.WasteAmount = SaveFloat(config.WasteAmount, wasteAmount); config.ReplacementPartAmount = SaveFloat(config.ReplacementPartAmount, wearAmount); config.EVAEffect = evaNoVet; config.EVAEffectVets = evaVet; config.NoHomeEffect = habNoVet; config.NoHomeEffectVets = habVet; config.NoSupplyEffect = supNoVet; config.NoSupplyEffectVets = supVet; config.NoECEffect = ecNoVet; config.NoECEffectVets = ecVet; config.ScoutHabTime = SaveDouble(config.ScoutHabTime, scoutHabTime); config.PermaHabTime = SaveDouble(config.PermaHabTime, permaHabTime); config.HabMultiplier = SaveInt(config.HabMultiplier, habMulti); config.EnableRecyclers = enableRecyclers; config.HabRange = SaveDouble(config.HabRange, habRange); config.HomeWorldAltitude = SaveInt(config.HomeWorldAltitude, homeAltitude); config.BaseHabTime = SaveDouble(config.BaseHabTime, baseHabTime); config.VetNames = vetNames; LifeSupportScenario.Instance.settings.SaveConfig(config); GuiOff(); }
private void GuiOn() { renderDisplay = true; //Load initial values config = LifeSupportScenario.Instance.settings.GetSettings(); supplyTime = string.Format("{0:0.########}", config.SupplyTime); ecTime = string.Format("{0:0.########}", config.ECTime); evaTime = string.Format("{0:0.########}", config.EVATime); ecAmount = string.Format("{0:0.########}", config.ECAmount); supplyAmount = string.Format("{0:0.########}", config.SupplyAmount); wasteAmount = string.Format("{0:0.########}", config.WasteAmount); wearAmount = string.Format("{0:0.########}", config.ReplacementPartAmount); supNoVet = config.NoSupplyEffect; supVet = config.NoSupplyEffectVets; habNoVet = config.NoHomeEffect; habVet = config.NoHomeEffectVets; ecNoVet = config.NoECEffect; ecVet = config.NoECEffectVets; evaNoVet = config.EVAEffect; evaVet = config.EVAEffectVets; habMulti = string.Format("{0:0.########}", config.HabMultiplier); enableRecyclers = config.EnableRecyclers; habRange = config.HabRange.ToString(); homeAltitude = config.HomeWorldAltitude.ToString(); baseHabTime = config.BaseHabTime.ToString(); vetNames = config.VetNames; }
private LifeSupportConfig LoadLifeSupportConfig() { var lsNodes = GameDatabase.Instance.GetConfigNodes("LIFE_SUPPORT_SETTINGS"); var finalSettings = new LifeSupportConfig { HabMultiplier = int.MaxValue, BaseHabTime = double.MaxValue, ECAmount = 0f, EVAEffect = 0, EVAEffectVets = 0, EVATime = float.MaxValue, HomeWorldAltitude = int.MaxValue, NoHomeEffect = 0, NoHomeEffectVets = 0, NoSupplyEffect = 0, NoSupplyEffectVets = 0, SupplyTime = float.MaxValue, SupplyAmount = 0f, WasteAmount = 0f, ReplacementPartAmount = 0f, EnableRecyclers = false, HabRange = 2000 }; foreach (var lsNode in lsNodes) { var settings = ResourceUtilities.LoadNodeProperties <LifeSupportConfig>(lsNode); finalSettings.HabMultiplier = Math.Min(settings.HabMultiplier, finalSettings.HabMultiplier); finalSettings.BaseHabTime = Math.Min(settings.BaseHabTime, finalSettings.BaseHabTime); finalSettings.ECAmount = Math.Max(settings.ECAmount, finalSettings.ECAmount); finalSettings.HomeWorldAltitude = Math.Min(settings.HomeWorldAltitude, finalSettings.HomeWorldAltitude); finalSettings.NoHomeEffect = Math.Max(settings.NoHomeEffect, finalSettings.NoHomeEffect); finalSettings.NoHomeEffectVets = Math.Max(settings.NoHomeEffectVets, finalSettings.NoHomeEffectVets); finalSettings.NoSupplyEffect = Math.Max(settings.NoSupplyEffect, finalSettings.NoSupplyEffect); finalSettings.NoSupplyEffectVets = Math.Max(settings.NoSupplyEffectVets, finalSettings.NoSupplyEffectVets); finalSettings.SupplyTime = Math.Min(settings.SupplyTime, finalSettings.SupplyTime); finalSettings.EVATime = Math.Min(settings.EVATime, finalSettings.EVATime); finalSettings.SupplyAmount = Math.Max(settings.SupplyAmount, finalSettings.SupplyAmount); finalSettings.WasteAmount = Math.Max(settings.WasteAmount, finalSettings.WasteAmount); finalSettings.ReplacementPartAmount = Math.Max(settings.ReplacementPartAmount, finalSettings.ReplacementPartAmount); finalSettings.EVAEffect = Math.Max(settings.EVAEffect, finalSettings.EVAEffect); finalSettings.EVAEffectVets = Math.Max(settings.EVAEffectVets, finalSettings.EVAEffectVets); finalSettings.VetNames += settings.VetNames + ","; finalSettings.HabRange = Math.Min(settings.HabRange, finalSettings.HabRange); if (settings.EnableRecyclers) { finalSettings.EnableRecyclers = true; } } return(finalSettings); }
public void SaveConfig(LifeSupportConfig config) { _Settings.HabMultiplier = config.HabMultiplier; _Settings.BaseHabTime = config.BaseHabTime; _Settings.ECAmount = config.ECAmount; _Settings.EVAEffect = config.EVAEffect; _Settings.EVAEffectVets = config.EVAEffectVets; _Settings.EVATime = config.EVATime; _Settings.HomeWorldAltitude = config.HomeWorldAltitude; _Settings.NoHomeEffect = config.NoHomeEffect; _Settings.NoHomeEffectVets = config.NoHomeEffectVets; _Settings.NoSupplyEffect = config.NoSupplyEffect; _Settings.NoSupplyEffectVets = config.NoSupplyEffectVets; _Settings.SupplyTime = config.SupplyTime; _Settings.ECTime = config.ECTime; _Settings.NoECEffectVets = config.NoECEffectVets; _Settings.NoECEffect = config.NoECEffect; _Settings.SupplyAmount = config.SupplyAmount; _Settings.WasteAmount = config.WasteAmount; _Settings.ReplacementPartAmount = config.ReplacementPartAmount; _Settings.EnableRecyclers = config.EnableRecyclers; _Settings.HabRange = config.HabRange; _Settings.VetNames = config.VetNames; }
public void Save(ConfigNode node) { if (node.HasNode("LIFE_SUPPORT_SETTINGS")) { SettingsNode = node.GetNode("LIFE_SUPPORT_SETTINGS"); } else { SettingsNode = node.AddNode("LIFE_SUPPORT_SETTINGS"); } if (_Settings == null) _Settings = LoadLifeSupportConfig(); foreach (LifeSupportStatus r in _StatusInfo) { var rNode = new ConfigNode("STATUS_DATA"); rNode.AddValue("KerbalName", r.KerbalName); rNode.AddValue("LastMeal", r.LastMeal); rNode.AddValue("LastEC", r.LastEC); rNode.AddValue("LastOnKerbin", r.LastOnKerbin); rNode.AddValue("MaxOffKerbinTime", r.MaxOffKerbinTime); rNode.AddValue("CurrentVesselId", r.CurrentVesselId); rNode.AddValue("PreviousVesselId", r.PreviousVesselId); rNode.AddValue("TimeEnteredVessel", r.TimeEnteredVessel); rNode.AddValue("IsGrouchy", r.IsGrouchy); rNode.AddValue("OldTrait", r.OldTrait); rNode.AddValue("LastUpdate", r.LastUpdate); SettingsNode.AddNode(rNode); } foreach (VesselSupplyStatus r in _VesselInfo) { var rNode = new ConfigNode("VESSEL_DATA"); rNode.AddValue("VesselId", r.VesselId); rNode.AddValue("VesselName", r.VesselName); rNode.AddValue("SuppliesLeft", r.SuppliesLeft); rNode.AddValue("ECLeft", r.ECLeft); rNode.AddValue("NumCrew", r.NumCrew); rNode.AddValue("RecyclerMultiplier", r.RecyclerMultiplier); rNode.AddValue("CrewCap", r.CrewCap); rNode.AddValue("ExtraHabSpace", r.ExtraHabSpace); rNode.AddValue("VesselHabMultiplier", r.VesselHabMultiplier); rNode.AddValue("LastFeeding", r.LastFeeding); rNode.AddValue("LastECCheck", r.LastECCheck); SettingsNode.AddNode(rNode); } var sNode = new ConfigNode("LIFE_SUPPORT_CONFIG"); sNode.AddValue("HabMultiplier",_Settings.HabMultiplier); sNode.AddValue("BaseHabTime", _Settings.BaseHabTime); sNode.AddValue("ECAmount", _Settings.ECAmount); sNode.AddValue("EVAEffect", _Settings.EVAEffect); sNode.AddValue("EVAEffectVets", _Settings.EVAEffectVets); sNode.AddValue("EVATime", _Settings.EVATime); sNode.AddValue("HomeWorldAltitude", _Settings.HomeWorldAltitude); sNode.AddValue("NoHomeEffect", _Settings.NoHomeEffect); sNode.AddValue("NoHomeEffectVets", _Settings.NoHomeEffectVets); sNode.AddValue("NoSupplyEffect", _Settings.NoSupplyEffect); sNode.AddValue("NoSupplyEffectVets", _Settings.NoSupplyEffectVets); sNode.AddValue("SupplyTime", _Settings.SupplyTime); sNode.AddValue("ECTime", _Settings.ECTime); sNode.AddValue("ECEffectVets", _Settings.NoECEffectVets); sNode.AddValue("NoECEffectVets", _Settings.SupplyTime); sNode.AddValue("NoECEffect", _Settings.NoECEffect); sNode.AddValue("WasteAmount", _Settings.WasteAmount); sNode.AddValue("ReplacementPartAmount", _Settings.ReplacementPartAmount); sNode.AddValue("EnableRecyclers", _Settings.EnableRecyclers); sNode.AddValue("HabRange", _Settings.HabRange); sNode.AddValue("VetNames", _Settings.VetNames); SettingsNode.AddNode(sNode); //Reset cache LifeSupportManager.Instance.ResetCache(); }
private LifeSupportConfig LoadLifeSupportConfig() { var lsNodes = GameDatabase.Instance.GetConfigNodes("LIFE_SUPPORT_SETTINGS"); var finalSettings = new LifeSupportConfig { HabMultiplier = int.MaxValue, BaseHabTime = double.MaxValue, ECAmount = 0f, EVAEffect = 0, EVAEffectVets = 0, EVATime = float.MaxValue, HomeWorldAltitude = int.MaxValue, NoHomeEffect = 0, NoHomeEffectVets = 0, NoSupplyEffect = 0, NoSupplyEffectVets = 0, SupplyTime = float.MaxValue, ECTime = float.MaxValue, NoECEffectVets = 0, NoECEffect = 0, SupplyAmount = 0f, WasteAmount = 0f, ReplacementPartAmount = 0f, EnableRecyclers = false, ScoutHabTime = 9180000, PermaHabTime = 459000000, HabRange = 2000, VetNames = "" }; var count = lsNodes.Length; for (int i = 0; i < count; ++i) { var lsNode = lsNodes[i]; var settings = ResourceUtilities.LoadNodeProperties <LifeSupportConfig>(lsNode); finalSettings.HabMultiplier = Math.Min(settings.HabMultiplier, finalSettings.HabMultiplier); finalSettings.BaseHabTime = Math.Min(settings.BaseHabTime, finalSettings.BaseHabTime); finalSettings.HomeWorldAltitude = Math.Min(settings.HomeWorldAltitude, finalSettings.HomeWorldAltitude); finalSettings.NoHomeEffect = Math.Max(settings.NoHomeEffect, finalSettings.NoHomeEffect); finalSettings.NoHomeEffectVets = Math.Max(settings.NoHomeEffectVets, finalSettings.NoHomeEffectVets); finalSettings.NoSupplyEffect = Math.Max(settings.NoSupplyEffect, finalSettings.NoSupplyEffect); finalSettings.NoSupplyEffectVets = Math.Max(settings.NoSupplyEffectVets, finalSettings.NoSupplyEffectVets); if (settings.ECTime > ResourceUtilities.FLOAT_TOLERANCE) { finalSettings.ECTime = Math.Min(settings.ECTime, finalSettings.ECTime); } if (settings.EVATime > ResourceUtilities.FLOAT_TOLERANCE) { finalSettings.EVATime = Math.Min(settings.EVATime, finalSettings.EVATime); } if (settings.SupplyTime > ResourceUtilities.FLOAT_TOLERANCE) { finalSettings.SupplyTime = Math.Min(settings.SupplyTime, finalSettings.SupplyTime); } if (settings.ScoutHabTime > 1000d) { finalSettings.ScoutHabTime = Math.Min(settings.ScoutHabTime, finalSettings.ScoutHabTime); } if (settings.PermaHabTime > 1000d) { finalSettings.PermaHabTime = Math.Min(settings.PermaHabTime, finalSettings.PermaHabTime); } finalSettings.SupplyAmount = Math.Max(settings.SupplyAmount, finalSettings.SupplyAmount); finalSettings.ECAmount = Math.Max(settings.ECAmount, finalSettings.ECAmount); finalSettings.NoECEffect = Math.Max(settings.NoECEffect, finalSettings.NoECEffect); finalSettings.NoECEffectVets = Math.Max(settings.NoECEffectVets, finalSettings.NoECEffectVets); finalSettings.WasteAmount = Math.Max(settings.WasteAmount, finalSettings.WasteAmount); finalSettings.ReplacementPartAmount = Math.Max(settings.ReplacementPartAmount, finalSettings.ReplacementPartAmount); finalSettings.EVAEffect = Math.Max(settings.EVAEffect, finalSettings.EVAEffect); finalSettings.EVAEffectVets = Math.Max(settings.EVAEffectVets, finalSettings.EVAEffectVets); finalSettings.VetNames += settings.VetNames + ","; finalSettings.HabRange = Math.Min(settings.HabRange, finalSettings.HabRange); if (settings.EnableRecyclers) { finalSettings.EnableRecyclers = true; } } return(finalSettings); }
public void Save(ConfigNode node) { if (node.HasNode("LIFE_SUPPORT_SETTINGS")) { SettingsNode = node.GetNode("LIFE_SUPPORT_SETTINGS"); } else { SettingsNode = node.AddNode("LIFE_SUPPORT_SETTINGS"); } if (_Settings == null) { _Settings = LoadLifeSupportConfig(); } if (_StatusInfo != null) { var count = _StatusInfo.Count; for (int i = 0; i < count; ++i) { var r = _StatusInfo[i]; var rNode = new ConfigNode("STATUS_DATA"); rNode.AddValue("KerbalName", r.KerbalName); rNode.AddValue("HomeBodyId", r.HomeBodyId); rNode.AddValue("LastMeal", r.LastMeal); rNode.AddValue("LastEC", r.LastEC); rNode.AddValue("LastAtHome", r.LastAtHome); rNode.AddValue("LastSOIChange", r.LastSOIChange); rNode.AddValue("LastPlanet", r.LastPlanet); rNode.AddValue("MaxOffKerbinTime", r.MaxOffKerbinTime); rNode.AddValue("CurrentVesselId", r.CurrentVesselId); rNode.AddValue("PreviousVesselId", r.PreviousVesselId); rNode.AddValue("TimeEnteredVessel", r.TimeEnteredVessel); rNode.AddValue("IsGrouchy", r.IsGrouchy); rNode.AddValue("OldTrait", r.OldTrait); rNode.AddValue("LastUpdate", r.LastUpdate); SettingsNode.AddNode(rNode); } } if (_VesselInfo != null) { var count = _VesselInfo.Count; for (int i = 0; i < count; ++i) { var r = _VesselInfo[i]; if (string.IsNullOrEmpty(r.VesselName)) { continue; } var rNode = new ConfigNode("VESSEL_DATA"); rNode.AddValue("VesselId", r.VesselId); rNode.AddValue("VesselName", r.VesselName); rNode.AddValue("SuppliesLeft", r.SuppliesLeft); rNode.AddValue("ECLeft", r.ECLeft); rNode.AddValue("NumCrew", r.NumCrew); rNode.AddValue("RecyclerMultiplier", r.RecyclerMultiplier); rNode.AddValue("CrewCap", r.CrewCap); rNode.AddValue("ExtraHabSpace", r.ExtraHabSpace); rNode.AddValue("VesselHabMultiplier", r.VesselHabMultiplier); rNode.AddValue("CachedHabTime", r.CachedHabTime); rNode.AddValue("LastFeeding", r.LastFeeding); rNode.AddValue("LastECCheck", r.LastECCheck); SettingsNode.AddNode(rNode); } } if (_Settings != null) { var sNode = new ConfigNode("LIFE_SUPPORT_CONFIG"); sNode.AddValue("HabMultiplier", _Settings.HabMultiplier); sNode.AddValue("BaseHabTime", _Settings.BaseHabTime); sNode.AddValue("ECAmount", _Settings.ECAmount); sNode.AddValue("ScoutHabTime", _Settings.ScoutHabTime); sNode.AddValue("PermaHabTime", _Settings.PermaHabTime); sNode.AddValue("SupplyAmount", _Settings.SupplyAmount); sNode.AddValue("EVAEffect", _Settings.EVAEffect); sNode.AddValue("EVAEffectVets", _Settings.EVAEffectVets); sNode.AddValue("EVATime", _Settings.EVATime); sNode.AddValue("HomeWorldAltitude", _Settings.HomeWorldAltitude); sNode.AddValue("NoHomeEffect", _Settings.NoHomeEffect); sNode.AddValue("NoHomeEffectVets", _Settings.NoHomeEffectVets); sNode.AddValue("NoSupplyEffect", _Settings.NoSupplyEffect); sNode.AddValue("NoSupplyEffectVets", _Settings.NoSupplyEffectVets); sNode.AddValue("SupplyTime", _Settings.SupplyTime); sNode.AddValue("ECTime", _Settings.ECTime); sNode.AddValue("NoECEffectVets", _Settings.NoECEffectVets); sNode.AddValue("NoECEffect", _Settings.NoECEffect); sNode.AddValue("WasteAmount", _Settings.WasteAmount); sNode.AddValue("ReplacementPartAmount", _Settings.ReplacementPartAmount); sNode.AddValue("EnableRecyclers", _Settings.EnableRecyclers); sNode.AddValue("HabRange", _Settings.HabRange); sNode.AddValue("VetNames", _Settings.VetNames); SettingsNode.AddNode(sNode); } //Reset cache LifeSupportManager.Instance.ResetCache(); }
private void SaveSettings(LifeSupportConfig config) { config.SupplyTime = SaveFloat(config.SupplyTime, supplyTime); config.ECTime = SaveFloat(config.ECTime, ecTime); config.EVATime = SaveFloat(config.EVATime, evaTime); config.ECAmount = SaveFloat(config.ECAmount, ecAmount); config.SupplyAmount = SaveFloat(config.SupplyAmount, supplyAmount); config.WasteAmount = SaveFloat(config.WasteAmount, wasteAmount); config.ReplacementPartAmount = SaveFloat(config.ReplacementPartAmount, wearAmount); config.EVAEffect = evaNoVet; config.EVAEffectVets = evaVet; config.NoHomeEffect = habNoVet; config.NoHomeEffectVets = habVet; config.NoSupplyEffect = supNoVet; config.NoSupplyEffectVets = supVet; config.NoECEffect = ecNoVet; config.NoECEffectVets = ecVet; config.HabMultiplier = SaveInt(config.HabMultiplier,habMulti); config.EnableRecyclers = enableRecyclers; config.HabRange = SaveDouble(config.HabRange,habRange); config.HomeWorldAltitude = SaveInt(config.HomeWorldAltitude,homeAltitude); config.BaseHabTime = SaveDouble(config.BaseHabTime,baseHabTime); config.VetNames = vetNames; LifeSupportScenario.Instance.settings.SaveConfig(config); GuiOff(); }
public void Load(ConfigNode node) { if (node.HasNode("LIFE_SUPPORT_SETTINGS")) { SettingsNode = node.GetNode("LIFE_SUPPORT_SETTINGS"); _StatusInfo = SetupStatusInfo(); _VesselInfo = SetupVesselInfo(); _Settings = SetupSettings(); //Reset cache LifeSupportManager.Instance.ResetCache(); } else { _StatusInfo = new List<LifeSupportStatus>(); _VesselInfo = new List<VesselSupplyStatus>(); _Settings = null; } }
public LifeSupportConfig GetSettings() { return _Settings ?? (_Settings = SetupSettings()); }