Exemple #1
0
    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;
 }