public void SetShields(int shieldValue) { var previousValue = _shields; if (shieldValue > this._shieldCapacity) { this._shields = this._shieldCapacity; } else { this._shields = shieldValue; } OnShieldValueChange?.Invoke(this, new OnShieldValueChangeEventArgs() { PreviousValue = previousValue, ShieldManager = this, }); }
public void RemoveShields(int shieldsToRemove) { var previousValue = _shields; if (this._shields - shieldsToRemove < 0) { this._shields = 0; } else { this._shields -= shieldsToRemove; } OnShieldValueChange?.Invoke(this, new OnShieldValueChangeEventArgs() { PreviousValue = previousValue, ShieldManager = this, }); }
public void AddShield(int shields) { var previousValue = _shields; if (this._shields + shields > this._shieldCapacity) { this._shields = this._shieldCapacity; } else { this._shields += shields; } OnShieldValueChange?.Invoke(this, new OnShieldValueChangeEventArgs() { PreviousValue = previousValue, ShieldManager = this, }); }