void ConfigureButton(TextMeshProUGUI title, TextMeshProUGUI text, UDPU selectedPowerUp) { var powerUpInfo = GetPowerUpInfo(selectedPowerUp); title.SetText(GetPowerUpTitle(selectedPowerUp, powerUpInfo)); text.SetText(GetPowerUpText(selectedPowerUp, powerUpInfo)); }
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 });
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; } }