public bool PurchaseConfig(string cfgName) { if (ConfigUnlocked(cfgName)) { return(false); } double cfgCost = ConfigEntryCost(cfgName); if (!HighLogic.CurrentGame.Parameters.Difficulty.BypassEntryPurchaseAfterResearch) { if (Funding.Instance.Funds < cfgCost) { return(false); } Funding.Instance.AddFunds(-cfgCost, TransactionReasons.RnDPartPurchase); } EntryCostDatabase.SetUnlocked(cfgName); EntryCostDatabase.UpdatePartEntryCosts(); return(true); }
public override void OnLoad(ConfigNode node) { base.OnLoad(node); EntryCostDatabase.Load(node.GetNode("Unlocks")); EntryCostDatabase.UpdatePartEntryCosts(); if (HighLogic.CurrentGame.Mode == Game.Modes.CAREER) { foreach (ConfigNode n in node.GetNodes("TLUpgrade")) { TLUpgrade tU = null; if (n.HasValue("name")) { string tlName = n.GetValue("name"); if (techLevelUpgrades.TryGetValue(tlName, out tU)) { tU.Load(n); } else { tU = new TLUpgrade(n); techLevelUpgrades[tlName] = tU; } } } } }
public void Start() { EntryCostManager.FillUpgrades(); EntryCostDatabase.Initialize(); EntryCostDatabase.UpdatePartEntryCosts(); }
protected IEnumerator updatePartEntryCosts() { yield return(new WaitForEndOfFrame()); EntryCostDatabase.UpdatePartEntryCosts(); }