UsableItem CreateDataListEntryItem(SourceDataItemSO source, ItemFactoryData template) { ITEMTYPE type = source.type; UsableItem tmp; switch (type) { case ITEMTYPE.FOOD: tmp = new ConsumableItem(template, source); //tmp.SetTarget(owner); return(tmp); // break; case ITEMTYPE.CLEANING_MATERIAL: tmp = new ConsumableItem(template, source); //tmp.SetTarget(owner); return(tmp); case ITEMTYPE.PROTECTIVE_EQUIPMENT: tmp = new EquipmentItem(template, source); //tmp.SetTarget(owner); return(tmp); // break; } Debug.LogError("type not found, please check: " + template.ItemName); return(null); }
public void AddItemToBag(ItemFactoryData itemToAdd, int qty) { foreach (ItemFactoryData itm in ItemsInBag) { if (itm.ItemName == itemToAdd.ItemName) { itm.quantity += qty; return; } } itemToAdd.quantity = qty; ItemsInBag.Add(itemToAdd); refreshBag(itemToAdd); }
/// <summary> /// Call this to add a new item to /// an inventory /// </summary> /// <param name="itemToAdd"></param> public void AddItemToBag(ItemFactoryData itemToAdd) { foreach (ItemFactoryData itm in ItemsInBag) { if (itm.ItemName == itemToAdd.ItemName) { itm.quantity += 1; return; } } itemToAdd.quantity = 1; ItemsInBag.Add(itemToAdd); refreshBag(itemToAdd); UpdateAbundanceData(); }
void refreshBag(ItemFactoryData temp) { SourceDataItemSO tmp; if (db.ItemDataMasterList.TryGetValue(temp.ItemName, out tmp)) { UsableItem itemToAdd = CreateDataListEntryItem(tmp, temp); if (!BagLookUp.TryGetValue(temp.ItemName, out UsableItem item)) { BagLookUp.Add(temp.ItemName, itemToAdd); } else { item.Quantity += itemToAdd.Quantity; } } }
public bool TransferItemData(string itemName, int qty, out ItemFactoryData itemToTransfer) { foreach (ItemFactoryData itm in ItemsInBag) { if (itm.ItemName == itemName) { if (itm.quantity < qty) { itemToTransfer = null; //removeFromBag(item.ItemName); return(false); } itm.quantity -= qty; //removeFromBag(item.ItemName, 1); itemToTransfer = new ItemFactoryData(itm.ItemName, qty); return(true); } } itemToTransfer = null; return(false); }
public EquipmentItem(ItemFactoryData template, SourceDataItemSO source) { // Debug.Log("equipment cerated"); base.Initialize(template); base.SetSource(source); }
public ConsumableItem(ItemFactoryData template, SourceDataItemSO source) { // Debug.Log("consummable created"); base.Initialize(template); base.SetSource(source); }