コード例 #1
0
        public void CbOnBtnEmployeeSalaryHikeClicked()
        {
            if (!uiHolder.StateController.GameManager.MasterLoader.PlayerScoreModel.IsEnoughCash(employeeSalaryCost))
            {
                btnStaffSalary.interactable = false;
                if (enoughCashCheckCorouting == null)
                {
                    enoughCashCheckCorouting = StartCoroutine(CheckForEnoughCash());
                }
                return;
            }

            if ((department != null && !department.IsSalaryUpgradeAvailable(hospitalDepartmentData.SalaryIncreaseIndexCount)) ||
                (paymentDepartment != null && !paymentDepartment.IsSalaryUpgradeAvailable(hospitalDepartmentData.SalaryIncreaseIndexCount)))
            {
                return;
            }

            UiHolder.StateController.GameManager.MasterLoader.PlayerScoreModel.DeductCash((decimal)employeeSalaryCost);
            UiHolder.ReloadPlayerScoreInHeaderUI();

            hospitalDepartmentData.IncreaseSalaryIndex();

            UiHolder.StateController.GameAudioManager.PlaySound(Audio.AudioType.UPGRADE_BTN_CLICKED);

            UpdateSalryHikeUI(department != null ? department : (Management.Hospital.BaseDepartment)paymentDepartment);

            UpdateStaffCost(department != null ? (Management.Hospital.BaseDepartment)department : (Management.Hospital.BaseDepartment)paymentDepartment);

            saveNeeded = true;
        }
コード例 #2
0
        /// <summary>
        /// call after instantiate the popup
        /// </summary>
        /// <param name="_uiHolder"></param>
        /// <param name="onResultCallback"> Required to get callback from popup</param>
        public virtual void Initilize(UiHolder _uiHolder, System.Action <int, object> onResultCallback)
        {
            uiHolder   = _uiHolder;
            cbOnResult = onResultCallback;
            uiHolder.AddIntoPopupList(this);

            uiHolder.StateController.GameAudioManager.PlaySound(Audio.AudioType.MENU_POP_UP);
        }
コード例 #3
0
 public override void OnEnable()
 {
     base.OnEnable();
     UpdateAdWatchSlider();
     if (!Management.Services.AdvertisementManager.Instance.IsRewardedAdAvailable() && !Management.Services.AdvertisementManager.Instance.CheckIfCanLoadRewardedAds())
     {
         UiHolder.ShowInternetConnectionErrorPopup();
     }
 }
コード例 #4
0
 public void CbOnWatchVideo()
 {
     if (Management.Services.AdvertisementManager.Instance.IsRewardedAdAvailable())
     {
         Management.Services.AdvertisementManager.Instance.ShowRewardedVideoAds(cbCallbackFunc: AdCallbackFinished);
     }
     else
     {
         UiHolder.ShowInternetConnectionErrorPopup();
     }
 }
コード例 #5
0
        public void CbOnBuyUpgradeDepartmentClicked()
        {
            Debug.Log("Upgrade department clicked");
            if (newLevelUnlockaValue == -1)
            {
                return;
            }

            if (!uiHolder.StateController.FTUEManager.IsFTUERunning && !UiHolder.StateController.GameManager.MasterLoader.PlayerScoreModel.IsEnoughCash(newLevelUnlockaValue))
            {
                btnDeaprtmentUpgrade.interactable = false;
                if (enoughCashCheckCorouting == null)
                {
                    enoughCashCheckCorouting = StartCoroutine(CheckForEnoughCash());
                }
                return;
            }
            if (!uiHolder.StateController.FTUEManager.IsFTUERunning)
            {
                uiHolder.StateController.GameManager.MasterLoader.PlayerScoreModel.DeductCash(newLevelUnlockaValue);
            }

            hospitalDepartmentData.UpdateCurrLevel();
            LoadNextUpgradeData(department != null ? (Management.Hospital.BaseDepartment)department : (Management.Hospital.BaseDepartment)paymentDepartment);
            UiHolder.ReloadPlayerScoreInHeaderUI();

            UiHolder.StateController.GameAudioManager.PlaySound(Audio.AudioType.UPGRADE_BTN_CLICKED);

            //Update department content
            if (department != null)
            {
                department.LoadUpgradeContent(upgradeContent);
                department.UpgradeDepartmentAssets();
            }
            else if (paymentDepartment != null)
            {
                paymentDepartment.LoadUpgradeContent(upgradeContent);
                paymentDepartment.UpgradeDepartmentAssets();
            }

            if (department != null &&
                department.DepartmentType == Hospital.Core.DepartmentType.ENT &&
                uiHolder.StateController.FTUEManager.IsFTUERunning)
            {
                uiHolder.StateController.FTUEManager.SkipToNext();
            }

            saveNeeded = true;
        }
コード例 #6
0
        public void CbOnAdvertisingClicked()
        {
            if (!UiHolder.StateController.GameManager.MasterLoader.PlayerScoreModel.IsEnoughCash(nextAdvertisementCost))
            {
                return;
            }
            if (UiHolder.StateController.GameManager.MasterLoader.ParkingUnitSaveModel.GetPatientPerMinWithoutOffset >= uiHolder.StateController.ParkingManager.ParkingJson.AdvertisementMaxPatientsPerMinute)
            {
                return;
            }

            UiHolder.StateController.GameManager.MasterLoader.PlayerScoreModel.DeductCash((decimal)nextAdvertisementCost);
            UiHolder.ReloadPlayerScoreInHeaderUI();
            UiHolder.StateController.ParkingManager.IncreasePatientPerMinAfterAdvertisement();
            UiHolder.StateController.GameAudioManager.PlaySound(Audio.AudioType.UPGRADE_BTN_CLICKED);
            UpdateAdvertisementData();
        }
コード例 #7
0
        public void CbOnBtnHireEmployeeClicked()
        {
            if (!uiHolder.StateController.GameManager.MasterLoader.PlayerScoreModel.IsEnoughCash(employeeHireCost))
            {
                btnHireEmployee.interactable = false;
                if (enoughCashCheckCorouting == null)
                {
                    enoughCashCheckCorouting = StartCoroutine(CheckForEnoughCash());
                }
                return;
            }

            UiHolder.StateController.GameManager.MasterLoader.PlayerScoreModel.DeductCash((decimal)employeeHireCost);
            UiHolder.ReloadPlayerScoreInHeaderUI();

            if (department != null && department.CanAddDoctor())
            {
                Management.Doctor.Core.DoctorType doctorType = uiHolder.StateController.GameManager.WhichDoctor(department.DepartmentType);
                uiHolder.StateController.GameManager.SpawnDoctor(doctorType, uiHolder.StateController);
                sliderStaffHire.value = department.GetDoctorAvailibilityPercent();
                uiHolder.StateController.HospitalManager.HospitalBuilding.SaveGameDataWithStaffHiring(department.DepartmentType);

                UiHolder.StateController.GameAudioManager.PlaySound(Audio.AudioType.UPGRADE_BTN_CLICKED);
                UpdateStaffCost(department);
            }
            else if (paymentDepartment != null && paymentDepartment.CanAddStaff())
            {
                if (paymentDepartment.DepartmentType == Hospital.Core.DepartmentType.CONSULTATION_FEES)
                {
                    UiHolder.StateController.GameManager.SpawnCashierInConsulationDepartment(UiHolder.StateController);
                }
                else
                {
                    UiHolder.StateController.GameManager.SpawnCashierInPharmacyDepartment(UiHolder.StateController);
                }
                sliderStaffHire.value = paymentDepartment.GetStaffPercentage();
                uiHolder.StateController.HospitalManager.HospitalBuilding.SaveGameDataWithStaffHiring(paymentDepartment.DepartmentType);

                UiHolder.StateController.GameAudioManager.PlaySound(Audio.AudioType.UPGRADE_BTN_CLICKED);
                UpdateStaffCost(paymentDepartment);
            }
            UpdateStaffUI();
            saveNeeded = true;
        }
コード例 #8
0
        public void CbOnParkingUpgradeClicked()
        {
            if (!uiHolder.StateController.GameManager.MasterLoader.PlayerScoreModel.IsEnoughCash(nextParkingUnlockCost))
            {
                return;
            }

            int currentUnlockedSlotsCount = uiHolder.StateController.ParkingManager.ParkingSlotHandler.GetCountOfUnlockedParkingSlots();

            if (currentUnlockedSlotsCount <= uiHolder.StateController.ParkingManager.ParkingSlotHandler.TotalParingSlotsCount)
            {
                uiHolder.StateController.GameManager.MasterLoader.PlayerScoreModel.DeductCash((decimal)nextParkingUnlockCost);
                UiHolder.ReloadPlayerScoreInHeaderUI();
                uiHolder.StateController.ParkingManager.ParkingSlotHandler.UnlockNewParkingSlot(true);
                UiHolder.StateController.GameAudioManager.PlaySound(Audio.AudioType.UPGRADE_BTN_CLICKED);
                UpdateParkingData();
            }

            if (UiHolder.StateController.FTUEManager.IsFTUERunning && UiHolder.StateController.FTUEManager.CurrentFtueType == FTUE.FTUEType.FTUE_PARKING_UPGRADE_CLICK)
            {
                UiHolder.StateController.FTUEManager.SkipToNext();
            }
        }
コード例 #9
0
ファイル: UiHUD.cs プロジェクト: piyushNit/HospitalTycoon
 public void CnOnSettingBtnClicked()
 {
     UiHolder.ShowUi(UiType.Setting);
 }