Beispiel #1
0
        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,
            });
        }
Beispiel #2
0
        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,
            });
        }
Beispiel #3
0
        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,
            });
        }