Ejemplo n.º 1
0
 public virtual void AddItem(Item item, int amount = 1, int slot = 0)
 {
     if (!ItemDatabase.ValidID(item.id))
     {
         return;
     }
     for (int i = slot; i < slots.Count; i++)
     {
         if (items[i].id == item.id)
         {
             ItemIcon itemObj = slots[i].GetComponentInChildren <ItemIcon>();
             itemObj.amount += amount;
             itemObj.Refresh();
             return;
         }
     }
     for (int i = slot; i < slots.Count; i++)
     {
         if (items[i].id == 0)
         {
             items[i] = item;
             GameObject itemObj = Instantiate(itemIconPrefab, slots[i].transform);
             itemObj.GetComponent <ItemIcon>().Initialize(this, item, amount, i);
             return;
         }
     }
     InventoryChanged();
 }
Ejemplo n.º 2
0
 public virtual void RemoveItem(Item item, int amount = 1, int slot = 0)
 {
     if (!ItemDatabase.ValidID(item.id))
     {
         return;
     }
     for (int i = slot; i < slots.Count; i++)
     {
         if (items[i].id == item.id)
         {
             ItemIcon itemObj = slots[i].GetComponentInChildren <ItemIcon>();
             itemObj.amount -= amount;
             if (itemObj.amount <= 0)
             {
                 Destroy(itemObj.gameObject);
                 items[i].id = 0;
             }
             itemObj.Refresh();
             return;
         }
     }
     InventoryChanged();
 }