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);
 }
Example #3
0
        protected void ConstantGain()
        {
            var previousCurrency = Currency.CurrentCurrency;

            Currency.AddCurrency(constantCurrencyAddition);
            var currentCurrency = Currency.CurrentCurrency;
            var info            = new CurrencyChangeInfo(previousCurrency, currentCurrency);

            CurrencyChanged?.Invoke(info);
        }
Example #4
0
 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);
     }
 }
Example #5
0
    public bool Purchase(int cost)
    {
        bool successful = false;

        int afterCurrency = _currency - cost;

        if (afterCurrency >= 0)
        {
            _currency  = afterCurrency;
            successful = true;
        }
        CurrencyChanged?.Invoke(_currency);

        return(successful);
    }
Example #6
0
 public void UseCurrency(int price)
 {
     currencyAmount -= price;
     CurrencyChanged?.Invoke();
 }
Example #7
0
 public void ReceiveCurrency(int amt)
 {
     currencyAmount += amt;
     CurrencyChanged?.Invoke();
 }
Example #8
0
 public void Increase(int amount)
 {
     _currency += amount;
     CurrencyChanged?.Invoke(_currency);
 }
 protected virtual void OnCurrencyChanged(object sender, StockEventArgs e)
 {
     CurrencyChanged?.Invoke(this, e);
 }
Example #10
0
 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);
 }