Ejemplo n.º 1
0
            public void PurchaseUnit(IUnit unit)
            {
                if (unit == null)
                {
                    throw new System.ArgumentNullException(nameof(unit));
                }

                if (Gold.Value < unit.GoldCost.Value)
                {
                    throw new System.Exception("No gold to buy unit.");
                }

                Gold = new PositiveInt(Gold.Value - unit.GoldCost.Value);

                GoldChanged?.Invoke(-unit.GoldCost.Value);
            }
Ejemplo n.º 2
0
 public void ChangeGold(int amount)
 {
     _gold += amount;
     GoldChanged?.Invoke(_gold);
 }
Ejemplo n.º 3
0
 public void ResetGold()
 {
     _gold = 0;
     GoldChanged?.Invoke(_gold);
 }
Ejemplo n.º 4
0
 private void OnGoldChanged(float value) => GoldChanged?.Invoke(this, new FloatEventArgs(value));
Ejemplo n.º 5
0
 protected virtual void OnGoldChanged()
 {
     GoldChanged?.Invoke(this, EventArgs.Empty);
 }
Ejemplo n.º 6
0
 private void Treasury_GoldChanged(int change) => GoldChanged?.Invoke(change);
Ejemplo n.º 7
0
            public void AddGold(PositiveInt gold)
            {
                Gold = new PositiveInt(Gold.Value + gold.Value);

                GoldChanged?.Invoke(gold.Value);
            }