private void ApplyBonus(IBonus bonus) { switch (bonus.Category) { case BonusCategory.FireRate: FireRateBonusConfig fireRateConfig = (FireRateBonusConfig)bonus.Config; foreach (var weapon in _weapons) { weapon.BoostFireRate(fireRateConfig.Modificator, fireRateConfig.Duration); } break; case BonusCategory.Heal: HealBonusConfig healConfig = (HealBonusConfig)bonus.Config; Health += healConfig.Heal; break; case BonusCategory.Immune: ImmuneBonusConfig immuneConfig = (ImmuneBonusConfig)bonus.Config; SetImmunable(immuneConfig.Duration); break; } }
private void Inject(ImmuneBonusConfig config) { Config = config; }