/// <summary> /// Remove a modifier from a specific stat /// </summary> private void RemoveBonusFromStat(EStatType statType, EStatModifierType bonusType, float bonusValue) { if (_stats.ContainsKey(statType)) { _stats[statType].RemoveStatModifier(bonusType, bonusValue); } }
/// <summary> /// Add a modifier to a specific stat /// </summary> private void AddBonusToStat(EStatType statType, EStatModifierType bonusType, float bonusValue) { if (_stats.ContainsKey(statType)) { _stats[statType].AddStatModifier(bonusType, bonusValue); } }
/// <summary> /// Remove a modifier to the stat /// </summary> public void RemoveStatModifier(EStatModifierType modifierType, float value) { if (modifierType == EStatModifierType.MORE || modifierType == EStatModifierType.LESS) { _statModifierAdd -= value; } else if (modifierType == EStatModifierType.INCREASE || modifierType == EStatModifierType.DECREASE) { _statModifierMult -= value; } _needCalc = true; }
/// <summary> /// Add a modifier to the stat /// </summary> public virtual void AddStatModifier(EStatModifierType modifierType, float value) { if (modifierType == EStatModifierType.MORE || modifierType == EStatModifierType.LESS) { _statModifierAdd += value; } else if (modifierType == EStatModifierType.INCREASE || modifierType == EStatModifierType.DECREASE) { _statModifierMult += value; } _needCalc = true; }