Advertisement
dronkowitz

Inventory.cs

Nov 4th, 2022 (edited)
685
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.91 KB | None | 0 0
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using UnityEngine;
  5.  
  6. public class Inventory : MonoBehaviour
  7. {
  8.     public Item[] backPack = new Item[40];
  9.     public int money = 10;
  10.     public delegate void InventoryUpdated();
  11.     public InventoryUpdated inventoryUpdated;
  12.  
  13.     public bool AddToBackPack(Item newItem)
  14.     {
  15.         for(int i = 0; i < backPack.Length; i++)
  16.         {
  17.             if (backPack[i] == null)
  18.             {
  19.                 backPack[i] = newItem;
  20.                 inventoryUpdated?.Invoke();
  21.                 return true;
  22.             }
  23.         }
  24.        
  25.         return false;
  26.     }
  27.  
  28.     public bool SetBackPackSlot(Item newItem, int slotNumber)
  29.     {
  30.         if (backPack[slotNumber] == null)
  31.         {
  32.             backPack[slotNumber] = newItem;
  33.             inventoryUpdated?.Invoke();
  34.             return true;
  35.         }
  36.         return false;
  37.     }
  38.  
  39.     public Item RemoveItemFromSlot(int slotNumber)
  40.     {
  41.         Item slotItem = backPack[slotNumber];
  42.         backPack[slotNumber] = null;
  43.         inventoryUpdated?.Invoke();
  44.         return slotItem;
  45.     }
  46.  
  47.     public bool HasItem(Item itemToCheck)
  48.     {
  49.         return backPack.Contains(itemToCheck);
  50.     }
  51.  
  52.     public bool RemoveItem(Item itemToRemove)
  53.     {
  54.         if (itemToRemove.questItem) return false;
  55.         if (HasItem(itemToRemove))
  56.         {
  57.             int i = System.Array.IndexOf(backPack, itemToRemove);
  58.             backPack[i] = null;
  59.             inventoryUpdated?.Invoke();
  60.             return true;
  61.         }
  62.         return false;
  63.     }
  64.  
  65.     public bool RemoveQuestItem(Item itemToRemove)
  66.     {
  67.        
  68.         if (HasItem(itemToRemove))
  69.         {
  70.             int i = System.Array.IndexOf(backPack, itemToRemove);
  71.             backPack[i] = null;
  72.             inventoryUpdated?.Invoke();
  73.             return true;
  74.         }
  75.         return false;
  76.     }
  77. }
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement