예제 #1
0
        void ConfigureButton(TextMeshProUGUI title, TextMeshProUGUI text, UDPU selectedPowerUp)
        {
            var powerUpInfo = GetPowerUpInfo(selectedPowerUp);

            title.SetText(GetPowerUpTitle(selectedPowerUp, powerUpInfo));
            text.SetText(GetPowerUpText(selectedPowerUp, powerUpInfo));
        }
예제 #2
0
        int GetPowerUpInfo(UDPU powerUp)
        {
            return(powerUp switch
            {
                // Stats
                UDPU.AttackDamageUp => PlayerPowerUpController.AttackLevel,
                UDPU.PhysicalDefenseUp => PlayerPowerUpController.PhysicalDefenseLevel,
                UDPU.MagicalDefenseUp => PlayerPowerUpController.PhysicalDefenseLevel,
                UDPU.HpUp => PlayerPowerUpController.HpLevel,
                UDPU.CriticalRateUp => PlayerPowerUpController.CriticalRateLevel,
                UDPU.CriticalDamageUp => PlayerPowerUpController.CriticalDamageLevel,

                // Effects
                UDPU.FireAttack => PlayerPowerUpController.FireLevel,
                UDPU.ElectricAttack => PlayerPowerUpController.ElectricLevel,
                UDPU.IceAttack => PlayerPowerUpController.IceLevel,
                UDPU.LifeStealUp => PlayerPowerUpController.LifeStealLevel,

                // Mechanical
                UDPU.PerfectDodgeAttack => PlayerPowerUpController.PerfectDodgeLevel,
                UDPU.HitProjectiles => PlayerPowerUpController.HitProjectilesLevel,

                _ => 0
            });
예제 #3
0
        private void ApplyPowerUp(UDPU powerUp)
        {
            switch (powerUp)
            {
            // Stats
            case UDPU.AttackDamageUp:
                PlayerPowerUpController.AttackLevel++;
                PlayerStatsController.UpdatePhysicalDamage();
                break;

            case UDPU.PhysicalDefenseUp:
                PlayerPowerUpController.PhysicalDefenseLevel++;
                PlayerStatsController.UpdatePhysicalDefense();
                break;

            case UDPU.MagicalDefenseUp:
                PlayerPowerUpController.MagicalDefenseLevel++;
                PlayerStatsController.UpdateMagicalDefense();
                break;

            case UDPU.HpUp:
                PlayerPowerUpController.HpLevel++;
                PlayerStatsController.UpdateMaxHp();
                break;

            case UDPU.CriticalRateUp:
                PlayerPowerUpController.CriticalRateLevel++;
                PlayerStatsController.UpdateCriticalRate();
                break;

            case UDPU.CriticalDamageUp:
                PlayerPowerUpController.CriticalDamageLevel++;
                PlayerStatsController.UpdateCriticalDamage();
                break;

            // Effects
            case UDPU.FireAttack:
                PlayerPowerUpController.FireLevel++;
                PlayerStatsController.UpdateFireDamage();
                PlayerStatsController.UpdateFireAttackRate();
                break;

            case UDPU.ElectricAttack:
                PlayerPowerUpController.ElectricLevel++;
                PlayerStatsController.UpdateElectricalDamage();
                PlayerStatsController.UpdateElectricAttackRate();
                PlayerStatsController.UpdateElectricRange();
                PlayerStatsController.UpdateParalyzeDuration();
                break;

            case UDPU.IceAttack:
                PlayerPowerUpController.IceLevel++;
                PlayerStatsController.UpdateIceDamage();
                PlayerStatsController.UpdateIceAttackRate();
                PlayerStatsController.UpdateFrostDuration();
                PlayerStatsController.UpdateShatterDamage();
                break;

            case UDPU.LifeStealUp:
                PlayerPowerUpController.LifeStealLevel++;
                PlayerStatsController.UpdateLifeStealPercentage();
                PlayerStatsController.UpdateLifeStealAttackRate();
                break;

            // Mechanical
            case UDPU.PerfectDodgeAttack:
                PlayerPowerUpController.PerfectDodgeLevel++;
                break;

            case UDPU.HitProjectiles:
                PlayerPowerUpController.HitProjectilesLevel++;
                break;
            }
        }