public KCT_UpgradingBuilding(Upgradeables.UpgradeableFacility facility, int newLevel, int oldLevel, string name) { id = facility.id; upgradeLevel = newLevel; currentLevel = oldLevel; commonName = name; }
public void FacilityUpgradedEvent(Upgradeables.UpgradeableFacility facility, int lvl) { if (KCT_GUI.PrimarilyDisabled) { return; } if (!(allowedToUpgrade || KCT_GameStates.settings.InstantKSCUpgrades)) { KCT_UpgradingBuilding upgrading = new KCT_UpgradingBuilding(facility, lvl, lvl - 1, facility.id.Split('/').Last()); if (!upgrading.AlreadyInProgress()) { upgrading.Downgrade(); double cost = facility.GetUpgradeCost(); upgrading.SetBP(cost); upgrading.cost = cost; KCT_GameStates.ActiveKSC.KSCTech.Add(upgrading); ScreenMessages.PostScreenMessage("Facility upgrade requested!", 4.0f, ScreenMessageStyle.UPPER_CENTER); KCTDebug.Log("Facility " + facility.id + " upgrade requested to lvl " + lvl + " for " + cost + " funds, resulting in a BP of " + upgrading.BP); } else if (lvl != upgrading.currentLevel) { // KCT_UpgradingBuilding listBuilding = upgrading.KSC.KSCTech.Find(b => b.id == upgrading.id); listBuilding.Downgrade(); KCT_Utilities.AddFunds(listBuilding.cost, TransactionReasons.None); ScreenMessages.PostScreenMessage("Facility is already being upgraded!", 4.0f, ScreenMessageStyle.UPPER_CENTER); KCTDebug.Log("Facility " + facility.id + " tried to upgrade to lvl " + lvl + " but already in list!"); } } else { KCTDebug.Log("Facility " + facility.id + " upgraded to lvl " + lvl); allowedToUpgrade = false; foreach (KCT_KSC ksc in KCT_GameStates.KSCs) { ksc.RecalculateBuildRates(); ksc.RecalculateUpgradedBuildRates(); } foreach (KCT_TechItem tech in KCT_GameStates.TechList) { tech.UpdateBuildRate(); } } /* if (lvl <= lastLvl) * { * lastLvl = -1; * return; * } * facility.SetLevel(lvl - 1); * lastLvl = lvl; * double cost = facility.GetUpgradeCost(); * double BP = Math.Sqrt(cost) * 2000 * KCT_GameStates.timeSettings.OverallMultiplier;*/ // KCTDebug.Log(facility.GetNormLevel()); }
private void onFacilityUpgraded(Upgradeables.UpgradeableFacility fac, int lvl) { if (fac.id == "SpaceCenter/TrackingStation") { this.Log("Caught onFacilityUpgraded for {0} at level {1}", fac.id, lvl); this.SetKerbinRelayRange(); this.updateModuleInfos(); } }
public void FacilityUpgradedEvent(Upgradeables.UpgradeableFacility facility, int lvl) { if (KCT_GUI.IsPrimarilyDisabled) { return; } KCTDebug.Log($"Facility {facility.id} upgraded to lvl {lvl}"); AllowedToUpgrade = false; foreach (KSCItem ksc in KCTGameStates.KSCs) { ksc.RecalculateBuildRates(); ksc.RecalculateUpgradedBuildRates(); } for (int i = KCTGameStates.TechList.Count - 1; i >= 0; i--) { TechItem tech = KCTGameStates.TechList[i]; tech.UpdateBuildRate(KCTGameStates.TechList.IndexOf(tech)); } }
public void FacilityUpgradedEvent(Upgradeables.UpgradeableFacility facility, int lvl) { if (KCT_GUI.PrimarilyDisabled) { bool isLaunchpad = facility.id.ToLower().Contains("launchpad"); if (!isLaunchpad) { return; } //is a launch pad KCT_GameStates.ActiveKSC.ActiveLPInstance.Upgrade(lvl); } KCTDebug.Log("Facility " + facility.id + " upgraded to lvl " + lvl); if (facility.id.ToLower().Contains("launchpad")) { if (!allowedToUpgrade) { KCT_GameStates.ActiveKSC.ActiveLPInstance.Upgrade(lvl); //also repairs the launchpad } else { KCT_GameStates.ActiveKSC.ActiveLPInstance.level = lvl; } } allowedToUpgrade = false; foreach (KCT_KSC ksc in KCT_GameStates.KSCs) { ksc.RecalculateBuildRates(); ksc.RecalculateUpgradedBuildRates(); } for (int i = KCT_GameStates.TechList.Count - 1; i >= 0; i--) { KCT_TechItem tech = KCT_GameStates.TechList[i]; //foreach (KCT_TechItem tech in KCT_GameStates.TechList) //{ tech.UpdateBuildRate(KCT_GameStates.TechList.IndexOf(tech)); } }
public void FacilityUpgradedEvent(Upgradeables.UpgradeableFacility facility, int lvl) { const string logBlockName = nameof(KCTEvents) + "." + nameof(FacilityUpgradedEvent); using (EntryExitLogger.EntryExitLog(logBlockName, EntryExitLoggerOptions.All)) { if (KCT_GUI.PrimarilyDisabled) { bool isLaunchpad = facility.id.ToLower().Contains("launchpad"); if (!isLaunchpad) { return; } //is a launch pad GameStates.ActiveKSC.ActiveLPInstance.Upgrade(lvl); } //if (!(allowedToUpgrade || !KCT_PresetManager.Instance.ActivePreset.generalSettings.KSCUpgradeTimes)) //{ // KCT_UpgradingBuilding upgrading = new KCT_UpgradingBuilding(facility.id, lvl, lvl - 1, facility.id.Split('/').Last()); // upgrading.isLaunchpad = facility.id.ToLower().Contains("launchpad"); // if (upgrading.isLaunchpad) // { // upgrading.launchpadID = KCT_GameStates.ActiveKSC.ActiveLaunchPadID; // if (upgrading.launchpadID > 0) // upgrading.commonName += KCT_GameStates.ActiveKSC.ActiveLPInstance.name;//" " + (upgrading.launchpadID+1); // } // if (!upgrading.AlreadyInProgress()) // { // KCT_GameStates.ActiveKSC.KSCTech.Add(upgrading); // upgrading.Downgrade(); // double cost = facility.GetUpgradeCost(); // upgrading.SetBP(cost); // upgrading.cost = cost; // ScreenMessages.PostScreenMessage("Facility upgrade requested!", 4.0f, ScreenMessageStyle.UPPER_CENTER); // Log.Trace("Facility " + facility.id + " upgrade requested to lvl " + lvl + " for " + cost + " funds, resulting in a BP of " + upgrading.BP); // } // else if (lvl != upgrading.currentLevel) // { // // // KCT_UpgradingBuilding listBuilding = upgrading.KSC.KSCTech.Find(b => b.id == upgrading.id); // if (upgrading.isLaunchpad) // listBuilding = upgrading.KSC.KSCTech.Find(b => b.isLaunchpad && b.launchpadID == upgrading.launchpadID); // listBuilding.Downgrade(); // KCT_Utilities.AddFunds(listBuilding.cost, TransactionReasons.None); // ScreenMessages.PostScreenMessage("Facility is already being upgraded!", 4.0f, ScreenMessageStyle.UPPER_CENTER); // Log.Trace("Facility " + facility.id + " tried to upgrade to lvl " + lvl + " but already in list!"); // } //} //else //{ Log.Trace("Facility " + facility.id + " upgraded to lvl " + lvl); if (facility.id.ToLower().Contains("launchpad")) { if (!allowedToUpgrade) { GameStates.ActiveKSC.ActiveLPInstance.Upgrade(lvl); //also repairs the launchpad } else { GameStates.ActiveKSC.ActiveLPInstance.level = lvl; } } allowedToUpgrade = false; foreach (SpaceCenterConstruction ksc in GameStates.KSCs) { ksc.RecalculateBuildRates(); ksc.RecalculateUpgradedBuildRates(); } foreach (KCT_TechItem tech in GameStates.TechList) { tech.UpdateBuildRate(GameStates.TechList.IndexOf(tech)); } //} /* if (lvl <= lastLvl) * { * lastLvl = -1; * return; * } * facility.SetLevel(lvl - 1); * lastLvl = lvl; * double cost = facility.GetUpgradeCost(); * double BP = Math.Sqrt(cost) * 2000 * KCT_GameStates.timeSettings.OverallMultiplier;*/ // Log.Trace(facility.GetNormLevel()); } }
private void OnKSCFacilityUpgraded(Upgradeables.UpgradeableFacility facility, int level) { appLauncherButton.SetFalse(); }
private void FixFlags(Upgradeables.UpgradeableFacility data0, int data1) { FixFlags(); }
private void FacilityUpgrade(Upgradeables.UpgradeableFacility Data, int V) { // _logger.Trace( "Callback: KSP Facility Upgraded" ); ScheduleExperimentUpdate(true, 5); // 5 seconds. Trying to avoid an exception. The colliders list gets updated while we are looking at it. }
private void OnKSCFacilityUpgraded(Upgradeables.UpgradeableFacility facility, int level) { Log.Info("OnKSCFacilityUpgraded"); toolbarControl.SetFalse(); //appLauncherButton.SetFalse(); }
private void FacilityUpgrade(Upgradeables.UpgradeableFacility Data, int V) { // _logger.Trace( "Callback: KSP Facility Upgraded" ); ScheduleExperimentUpdate(true); }