コード例 #1
0
        void LoadNextUpgradeData(Management.Hospital.BaseDepartment baseDepartment)
        {
            try
            {
                upgradeContent = baseDepartment.GetUpgradeContentFromLevel(hospitalDepartmentData.CurrLevel);
                int currLevelIndex = baseDepartment.DeaprtmentUpgradeJson.upgradable_contents.IndexOf(upgradeContent);
                Hospital.Json.UpgradableContent nextUpgradeContent = null;
                if (currLevelIndex < baseDepartment.DeaprtmentUpgradeJson.upgradable_contents.Count - 1)
                {
                    nextUpgradeContent = baseDepartment.DeaprtmentUpgradeJson.upgradable_contents[currLevelIndex + 1];
                }
                UpdateNextLevelUnlockValue(hospitalDepartmentData.CurrLevel + 1, baseDepartment.DeaprtmentUpgradeJson.base_income, uiHolder.StateController.DepartmentUpgradeScriptable.GetLevelIncreasePercentage(baseDepartment.DepartmentType));

                // This level upgrade
                txtDepartmentUpgradeRquiredValue.text = Utils.FormatWithMeasues(newLevelUnlockaValue);
                imgCurrUpgradeIcon.sprite             = uiHolder.StateController.DepartmentUpgradeScriptable.GetIconFromIndex(baseDepartment.DepartmentType, currLevelIndex);

                txtUpgradeTitle.text       = upgradeContent.upgrade_name;
                txtUpgradeDescription.text = upgradeContent.description;
                txtLevelValue.text         = hospitalDepartmentData.CurrLevel.ToString();

                txtBaseIncomeValue.text = baseDepartment.DeaprtmentUpgradeJson.base_income.ToString();
                txtTreatmentTime.text   = upgradeContent.time.ToString();
                UpdateStaffUI();

                //Staff salary
                txtStaffSalaryMax.text = baseDepartment.MaxCanReduceWorkTimeByPercent.ToString() + "%";
                UpdateSalryHikeUI(baseDepartment);

                txtPatientTreated.text = (60 / (int)upgradeContent.time).ToString() + "/Min";

                //Next Upgrade
                if (nextUpgradeContent != null)
                {
                    txtNextUpgradeIncome.text     = "X" + nextUpgradeContent.income_multiplyer.ToString();
                    txtNextUpgradeLevelValue.text = nextUpgradeContent.level.ToString();

                    sliderNextUpgrade.minValue = upgradeContent.level;
                    sliderNextUpgrade.maxValue = nextUpgradeContent.level;
                    sliderNextUpgrade.value    = hospitalDepartmentData.CurrLevel;
                }
                else
                {
                    txtNextUpgradeIncome.text     = "-";
                    txtNextUpgradeLevelValue.text = "-";

                    sliderNextUpgrade.minValue = 0;
                    sliderNextUpgrade.maxValue = 0;
                    sliderNextUpgrade.value    = 0;
                }

                ToggleAllButtons(true);
            }
            catch (System.Exception e)
            {
                ToggleAllButtons(false);
                Debug.LogError("Department upgrade data load failed");
                Debug.LogError(e.Message.ToString());
            }
        }
コード例 #2
0
 public override void OnDisable()
 {
     base.OnDisable();
     department             = null;
     paymentDepartment      = null;
     hospitalDepartmentData = null;
     upgradeContent         = null;
     newLevelUnlockaValue   = -1;
 }