public void BuyUgrade(IUpgrade itemToUpdate) { BigNumber updateCost = itemToUpdate.Price; if (CanPay(updateCost) == false) { throw new InvalidExpressionException("Player profile dont't have enouth money to pay! Can't make transaction."); } _moneySystem.SubstructMoney(updateCost); itemToUpdate.LvlUp(); }