public void RemoveCurrency(ulong amount) { if (amount > Currency) { amount = Currency; } Currency -= amount; CurrencyChanged?.Invoke(Currency); }
public void AddCurrency(ulong amount) { if (ulong.MaxValue - amount <= Currency) { amount = ulong.MaxValue - Currency; } Currency += amount; CurrencyChanged?.Invoke(Currency); }
protected void ConstantGain() { var previousCurrency = Currency.CurrentCurrency; Currency.AddCurrency(constantCurrencyAddition); var currentCurrency = Currency.CurrentCurrency; var info = new CurrencyChangeInfo(previousCurrency, currentCurrency); CurrencyChanged?.Invoke(info); }
private void ChangeCurrency(int increment) { if (increment != 0) { var previousCurrency = CurrentCurrency; CurrentCurrency += increment; var currentCurrency = CurrentCurrency; var info = new CurrencyChangeInfo(previousCurrency, currentCurrency); CurrencyChanged?.Invoke(info); } }
public bool Purchase(int cost) { bool successful = false; int afterCurrency = _currency - cost; if (afterCurrency >= 0) { _currency = afterCurrency; successful = true; } CurrencyChanged?.Invoke(_currency); return(successful); }
public void UseCurrency(int price) { currencyAmount -= price; CurrencyChanged?.Invoke(); }
public void ReceiveCurrency(int amt) { currencyAmount += amt; CurrencyChanged?.Invoke(); }
public void Increase(int amount) { _currency += amount; CurrencyChanged?.Invoke(_currency); }
protected virtual void OnCurrencyChanged(object sender, StockEventArgs e) { CurrencyChanged?.Invoke(this, e); }
void AddOneObject() { _currentLevelObjectsCollected++; CurrencyChanged?.Invoke(); }
/// <summary> /// It is called inside sender's method which provides a currency changing method. /// </summary> /// <param name="sender">Component, which has changed a currency</param> /// <param name="currency">New currency</param> public void OnCurrencyChanged(IComponent sender) { CurrencyChanged?.Invoke(sender); }