public void AddItem(UsableItem usableItem) { if (!Items.ContainsKey(usableItem.ToString())) { Items.Add(usableItem.ToString(), new List <UsableItem>()); } Items[usableItem.ToString()].Add(usableItem); Refresh(); }
private void ChangeItem(UsableItem item, int price) { if (!_stockPrices.ContainsKey(item.ToString())) { _stockPrices.Add(item.ToString(), price); _shopItems.Add(item.ToString(), new List <UsableItem> { item }); } else { _stockPrices[item.ToString()] = price; _shopItems[item.ToString()].Add(item); } }
public void Inventory_DecreaseDurability() { //Reset inventory adventurerAgent.ResetEconomyAgent(); List <BaseItemPrices> basePrices = agentShopSubSystem.basePrices; for (int i = 0; i < basePrices.Count; i++) { //Sword UsableItem itemToAdd = basePrices[i].item; itemToAdd.itemDetails.ResetDurability(); //Add to the inventory adventurerAgent.inventory.AddItem(itemToAdd); UsableItem itemInInventory = adventurerAgent.inventory.Items[itemToAdd.ToString()][0]; //Check durability by default int durability = itemInInventory.itemDetails.durability; Assert.AreEqual(itemInInventory.itemDetails.durability, itemInInventory.itemDetails.baseDurability); adventurerAgent.inventory.DecreaseDurability(itemInInventory); //Check if it decreased Assert.AreEqual(durability - 1, itemInInventory.itemDetails.durability); } }
public new void Setup(UsableItem newItem, int newNumber) { //base.Setup(newItem, newNumber); //not adequate item = newItem; nameLabel.text = newItem.ToString(); SetupOthersParameters(); }
public void DecreaseDurability(UsableItem item) { if (Items.ContainsKey(item.ToString())) { item.itemDetails.DecreaseDurability(); if (item.itemDetails.Broken) { DestroyItem(item); OverviewVariables.ItemBroke(); } } }
public void RemoveItem(UsableItem usableItem) { var key = usableItem.ToString(); var usableItems = Items[key]; usableItems.RemoveAll(x => x.UniqueId == usableItem.UniqueId); if (usableItems.Count == 0) { Debug.Log("Remove key"); Items.Remove(key); } Refresh(); }
public void SubmitToShop(ShopAgent agent, UsableItem item) { if (agent.agentInventory.ContainsItem(item) == false) { Debug.Log("Out of range submit. Item : " + item.ToString()); return; } var shop = GetShop(agent); shop.SubmitToShop(item); agent.agentInventory.RemoveItem(item); Refresh(); }
public bool ContainsItem(UsableItem searchItem) { if (Items == null) { return(false); } var found = false; foreach (var item in Items) { if (item.Key == searchItem.ToString()) { found = true; } } return(found); }
public void Shop_SetPriceItem() { //Submit a sword to the shop CraftingChoice randomSword = listCraftingChoices[UnityEngine.Random.Range(0, listCraftingChoices.Count)]; UsableItem sword = AddItemInInventory(shopAgent.agentInventory, randomSword); agentShopSubSystem.SubmitToShop(shopAgent, sword); //Check default price int basePrice = GetPriceByItemName(sword.itemDetails.itemName); Assert.AreEqual(basePrice, agentShopSubSystem.GetPrice(shopAgent, sword.itemDetails)); //Increase Price int randomPositiveIncrement = UnityEngine.Random.Range(1, 50); agentShopSubSystem.SetCurrentPrice(shopAgent, 0, randomPositiveIncrement); Assert.AreEqual(basePrice + randomPositiveIncrement, agentShopSubSystem.GetPrice(shopAgent, sword.itemDetails), "Item : " + sword.ToString() + " - randomPositiveIncrement : " + randomPositiveIncrement); //Decrease Price int randomNegativeIncrement = UnityEngine.Random.Range(-50, -1); agentShopSubSystem.SetCurrentPrice(shopAgent, 0, randomNegativeIncrement); Assert.AreEqual(basePrice + randomPositiveIncrement + randomNegativeIncrement, agentShopSubSystem.GetPrice(shopAgent, sword.itemDetails)); }