Exemplo n.º 1
0
 public KCT_UpgradingBuilding(Upgradeables.UpgradeableFacility facility, int newLevel, int oldLevel, string name)
 {
     id = facility.id;
     upgradeLevel = newLevel;
     currentLevel = oldLevel;
     commonName = name;
 }
 void OnUpgradeableObjLevelChange(Upgradeables.UpgradeableObject uObject, int iLevel)
 {
 }
 void OnKSCFacilityUpgrading(Upgradeables.UpgradeableFacility Facility, int iLevel)
 {
 }
		private void FacilityUpgrade( Upgradeables.UpgradeableFacility Data, int V )
		{
//			_logger.Trace( "Callback: KSP Facility Upgraded" );
			ScheduleExperimentUpdate( true, 5 );
		}
        /// <summary>
        /// Callback-Event when a Upgradeable object (TrackingStation) has changed
        /// </summary>
        private void OnUpgradeableObjLevelChange(Upgradeables.UpgradeableObject obj, int lvl)
        {
            if (!obj.name.Equals("TrackingStation"))
                return;

            RTLog.Verbose("OnUpgradeableObjLevelChange {0} - Level: {1}", RTLogLevel.LVL4, obj.name, lvl);
            ReloadUpgradableAntennas(lvl+1);
        }
Exemplo n.º 6
0
        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);

            }

            if (!(allowedToUpgrade || !KCT_PresetManager.Instance.ActivePreset.generalSettings.KSCUpgradeTimes))
            {
                KCT_UpgradingBuilding upgrading = new KCT_UpgradingBuilding(facility, 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);
                    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);
                    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);
                    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);
                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();
                }
                foreach (KCT_TechItem tech in KCT_GameStates.TechList)
                {
                    tech.UpdateBuildRate(KCT_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;*/

               // KCTDebug.Log(facility.GetNormLevel());
        }
		void OnUpgradeableObjLevelChange(Upgradeables.UpgradeableObject uObject, int iLevel)
		{
			// Debug.Log("KK: UpgradeableObjLevelChange " + uObject + " " + iLevel);
		}
		void OnKSCFacilityUpgrading(Upgradeables.UpgradeableFacility Facility, int iLevel)
		{
			// Debug.Log("KK: FacilityUpgrading " + Facility + " " + iLevel);
		}
Exemplo n.º 9
0
 private void OnKSCFacilityUpgraded(Upgradeables.UpgradeableFacility facility, int level)
 {
     appLauncherButton.SetFalse();
 }
Exemplo n.º 10
0
        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());
        }