public void SetVisible(UsableItemDetails details, ShopAgent seller) { _shopDetails = details; gameObject.SetActive(true); _seller = seller; newPriceField.text = details.ToString(); }
public int GetNumber(UsableItemDetails item) { if (_shopItems.ContainsKey(item.itemName)) { return(_shopItems[item.itemName].Count); } return(0); }
//Return customized price if there is one, otherwise, return the default price public int GetPrice(UsableItemDetails item) { if (_stockPrices.ContainsKey(item.itemName)) { return(_stockPrices[item.itemName]); } if (_previousPrices.ContainsKey(item.itemName)) { return(_previousPrices[item.itemName]); } return(0); }
/// <summary> /// Gy price by item name /// </summary> public int GetPriceByItemName(string itemName) { foreach (BaseItemPrices item in agentShopSubSystem.basePrices) { UsableItemDetails details = item.item.itemDetails; if (item.item.itemDetails.itemName == itemName) { return(item.price); } } Debug.Log("Wrong Item : " + itemName); return(0); }
public void Inventory_UnarmedDetails() { //Reset inventory adventurerAgent.ResetEconomyAgent(); //Unarmed UsableItemDetails itemDetails = adventurerAgent.inventory.Items["Unarmed"][0].itemDetails; Assert.AreEqual("Unarmed", itemDetails.itemName); Assert.AreEqual(ItemData.baseDurabilities["Unarmed"], itemDetails.baseDurability); Assert.AreEqual(itemDetails.durability, itemDetails.baseDurability); Assert.AreEqual(ItemData.baseDamages["Unarmed"], itemDetails.damage); Assert.AreEqual(true, itemDetails.unBreakable); Assert.AreEqual(false, itemDetails.Broken); }
public void PurchaseItem(ShopAgent shopAgent, UsableItemDetails item, EconomyWallet wallet, AgentInventory inventory) { var shop = GetShop(shopAgent); var success = shop.PurchaseItems(shopAgent.wallet, item, wallet, inventory); if (success) { OverviewVariables.SoldItem(); if (item.itemName == endItem.itemDetails.itemName) { //resetScript.ResetScript(); } } Refresh(); }
public bool PurchaseItems(EconomyWallet shopAgentWallet, UsableItemDetails itemDetails, EconomyWallet adventurerAgentWallet, AgentInventory inventory) { var price = _stockPrices[itemDetails.itemName]; int GetStock() { return(_shopItems[itemDetails.itemName].Count); } if (adventurerAgentWallet.Money <= price) { Debug.Log("Not enough money : wallet " + adventurerAgentWallet.Money + "- price " + price); return(false); } if (GetStock() <= 0) { Debug.Log("Not enough stock"); return(false); } inventory.AddItem(_shopItems[itemDetails.itemName][0]); _shopItems[itemDetails.itemName].RemoveAt(0); _stockPrices[itemDetails.itemName] = price; if (GetStock() <= 0) { _stockPrices.Remove(itemDetails.itemName); _shopItems.Remove(itemDetails.itemName); _previousPrices[itemDetails.itemName] = price; } adventurerAgentWallet.SpendMoney(price); shopAgentWallet.EarnMoney(price); return(true); }
public void SetCurrentPrice(UsableItemDetails item, int increment) { var price = _stockPrices[item.itemName]; _stockPrices[item.itemName] = price + increment; }
public void Craft_SwordDetailsAndPrices() { List <BaseItemPrices> basePrices = agentShopSubSystem.basePrices; foreach (BaseItemPrices item in basePrices) { UsableItemDetails details = item.item.itemDetails; //Prices switch (details.itemName) { case "Beginner Sword": Assert.AreEqual(50, item.price); break; case "Intermediate Sword": Assert.AreEqual(70, item.price); break; case "Advanced Sword": Assert.AreEqual(90, item.price); break; case "Epic Sword": Assert.AreEqual(110, item.price); break; case "Master Sword": Assert.AreEqual(140, item.price); break; case "Ultimate Sword": Assert.AreEqual(180, item.price); break; default: Assert.False(true, "Wrong Item : " + item.item.ToString() + " - price : " + item.price); break; } //Details switch (details.itemName) { case "Beginner Sword": Assert.AreEqual(7, details.damage); Assert.AreEqual(10, details.baseDurability); Assert.AreEqual(false, details.unBreakable); break; case "Intermediate Sword": Assert.AreEqual(9, details.damage); Assert.AreEqual(12, details.baseDurability); Assert.AreEqual(false, details.unBreakable); break; case "Advanced Sword": Assert.AreEqual(10, details.damage); Assert.AreEqual(14, details.baseDurability); Assert.AreEqual(false, details.unBreakable); break; case "Epic Sword": Assert.AreEqual(12, details.damage); Assert.AreEqual(20, details.baseDurability); Assert.AreEqual(false, details.unBreakable); break; case "Master Sword": Assert.AreEqual(12, details.damage); Assert.AreEqual(22, details.baseDurability); Assert.AreEqual(false, details.unBreakable); break; case "Ultimate Sword": Assert.AreEqual(15, details.damage); Assert.AreEqual(25, details.baseDurability); Assert.AreEqual(false, details.unBreakable); break; default: Assert.False(true, "Wrong Item : " + details.itemName + " - damage : " + details.damage + " - baseDurability : " + details.baseDurability + " - unBreakable : " + details.unBreakable); break; } } }
public int GetPrice(ShopAgent shopAgent, UsableItemDetails item) { return(GetShop(shopAgent).GetPrice(item)); }
public int GetNumber(ShopAgent shopAgent, UsableItemDetails item) { return(GetShop(shopAgent).GetNumber(item)); }
private void SetCurrentPrice(ShopAgent shopAgent, UsableItemDetails item, int increment) { GetShop(shopAgent).SetCurrentPrice(item, increment); Refresh(); }