public void DetermineValue(string itemLocation) { if (itemLocation == "Shop") { currentValue = PriceChecker.AppraiseItem(this, "Purchase"); } else { currentValue = PriceChecker.AppraiseItem(this, "Sale"); } }
void CheckPlayerFunds(Item item, int quantity) { float price = PriceChecker.AppraiseItem(item, "Purchase") * quantity; if (price <= playerWallet.GetCurrentBalance()) { CommitPurchase(item, quantity, price); } else { Debug.Log("Insufficient funds, balance: $" + playerWallet.GetCurrentBalance()); shopDialogue.SetCurrentMessage(LoadShop.MessageType.LOW_GOLD); } }
public void RightClickedToSell(Item item) { if (item != null) { float price = PriceChecker.AppraiseItem(item, "Sale") * item.quantity; if (InventoryManager.GetInstance().GetShopInventory().CheckSpaceAndGold(item, item.quantity, price)) { InventoryManager.GetInstance().GetInventory().Remove(item); InventoryManager.GetInstance().GetShopInventory().AddItem(item); //needs to account for quantity ScriptToolbox.GetInstance().GetPlayerWallet().Deposit(price); InventoryManager.GetInstance().GetShopDialogue().SetCurrentMessage(LoadShop.MessageType.SUCCESS); } else { InventoryManager.GetInstance().GetShopDialogue().SetCurrentMessage(LoadShop.MessageType.INVAL_QNTY); } } }
void CommitSale(Item item, int quantity) { float price = PriceChecker.AppraiseItem(item, "Sale") * quantity; if (shop.CheckSpaceAndGold(item, quantity, price)) { playerWallet.Deposit(price); Debug.Log("You have been credited $" + price); inv.SubtractQuantityFromItem(item, quantity); //create new item to go to shop Item soldItem = new Item(item); soldItem.quantity = quantity; shop.AddItem(soldItem); shopDialogue.SetCurrentMessage(LoadShop.MessageType.SUCCESS); } else { shopDialogue.SetCurrentMessage(LoadShop.MessageType.INVAL_QNTY); } }
public void ShopSlotRightClicked(Item item) { if (item == null) { return; } ShopDialogue shopDialogue = InventoryManager.GetInstance().GetShopDialogue(); CheckInventorySpace invCheck = InventoryManager.GetInstance().GetInventorySpaceChecker(); float price = PriceChecker.AppraiseItem(item, "Purchase") * item.quantity; if (playerWallet.GetCurrentBalance() >= price && invCheck.CheckItem(item)) { InventoryManager.GetInstance().GetShopInventory().Remove(item); InventoryManager.GetInstance().GetInventory().AddItem(item); playerWallet.Withdraw(price); shopDialogue.SetCurrentMessage(LoadShop.MessageType.SUCCESS); } else { shopDialogue.SetCurrentMessage(LoadShop.MessageType.INVAL_QNTY); //SHOULD BE "GENERIC_NO" } }