Exemplo n.º 1
0
 public int Contains(InventoryItem item)
 {
     lock (storedItems)
     {
         foreach (KeyValuePair<int, Pair<InventoryItem, int>> i in storedItems)
         {
             if (i.Value.first == item)
             {
                 return i.Key;
             }
         }
         return -1;
     }
 }
Exemplo n.º 2
0
 public bool AddItem(InventoryItem item, int amount)
 {
     lock (storedItems)
     {
         int slot = Contains(item);
         if (slot != -1)
         {
             storedItems[slot].second += amount;
             return true;
         }
         else if (storedItems.Count != capacity)
         {
             int freeSlot = GetFreeSlot();
             if (freeSlot != -1)
             {
                 storedItems.Add(freeSlot, new Pair<InventoryItem, int>(item, amount));
                 return true;
             }
         }
         return false;
     }
 }
Exemplo n.º 3
0
 public static int GetSellPrice(InventoryItem item)
 {
     return (int)item.GetDataAt(4);
 }
Exemplo n.º 4
0
 public static int GetBuyPrice(InventoryItem item)
 {
     return (int)item.GetDataAt(3);
 }
Exemplo n.º 5
0
 public bool RemoveItem(InventoryItem item, int amount)
 {
     InventoryItem itemToRemove = null;
     bool removeAll = false;
     lock (storedItems)
     {
         foreach (Pair<InventoryItem, int> i in storedItems.Values)
         {
             if (i.first == item)
             {
                 if (i.second > amount)
                 {
                     i.second -= amount;
                     return true;
                 }
                 else
                 {
                     itemToRemove = i.first;
                     removeAll = true;
                 }
             }
         }
         if (removeAll)
         {
             storedItems.Remove(GetSlot(item));
             return true;
         }
         return false;
     }
 }
Exemplo n.º 6
0
 public int GetItemCount(InventoryItem item)
 {
     lock (storedItems)
     {
         foreach (Pair<InventoryItem, int> i in storedItems.Values)
         {
             if (i.first == item)
             {
                 return i.second;
             }
         }
         return 0;
     }
 }
Exemplo n.º 7
0
 public bool Equals(InventoryItem item)
 {
     return item.GetData() == GetData() && item.GetName() == GetName();
 }
Exemplo n.º 8
0
 public InventoryItem(InventoryItem item)
 {
     this.data = item.data;
 }