//Return inventory that can take item (main one first, then bag)
 public InventoryData GetValidInventory(ItemData item, int quantity)
 {
     if (InventoryData.CanTakeItem(item.id, quantity))
     {
         return(InventoryData);
     }
     else if (BagData != null && BagData.CanTakeItem(item.id, quantity))
     {
         return(BagData);
     }
     return(null);
 }
        public void UnequipItem(EquipSlot eslot)
        {
            InventoryItemData invdata = EquipData.GetEquippedItem(eslot);

            if (invdata != null && InventoryData.CanTakeItem(invdata.item_id, 1))
            {
                EquipData.UnequipItem(eslot);
                InventoryData.AddItem(invdata.item_id, 1, invdata.durability, invdata.uid);
            }
            else if (invdata != null && BagData != null && BagData.CanTakeItem(invdata.item_id, 1))
            {
                EquipData.UnequipItem(eslot);
                BagData.AddItem(invdata.item_id, 1, invdata.durability, invdata.uid);
            }
        }
 //Check both bag and inventory
 public bool CanTakeItem(ItemData item, int quantity = 1)
 {
     return(item != null && (InventoryData.CanTakeItem(item.id, quantity) ||
                             (BagData != null && BagData.CanTakeItem(item.id, quantity))));
 }