public bool AddToList(Item item)
    {
        bool added = false;

        if (items.Count < maxItems)
        {
            items.Add(item);
            added = true;
        }
        lastItemType = item.itemType;
        return(added);
    }
 public void Reset()
 {
     items.Clear();
     levelsCleared.Clear();
     equippedHelmet = null;
     equippedSword  = null;
     lastItemCount  = -1;
     lastItemType   = Item.itemTypes.Sword;
     reset          = false;
     hasMerged      = false;
     for (int i = 0; i < starterItems.Count; i++)
     {
         items.Add(starterItems[i]);
     }
 }
    public void UnquipItem(Item.itemTypes itemType)
    {
        switch (itemType)
        {
        case Item.itemTypes.Helmet:
            equippedHelmet = null;
            break;

        case Item.itemTypes.Sword:
            equippedSword = null;
            break;

        default:
            break;
        }
    }
    public Item GetEquippedItem(Item.itemTypes itemType)
    {
        bool equippedExists = false;

        switch (itemType)
        {
        case Item.itemTypes.Sword:
            if (!equippedSword)
            {
                return(null);
            }
            for (int i = 0; i < items.Count; i++)
            {
                equippedExists = items[i].itemSprite == equippedSword.itemSprite || equippedExists;
            }
            if (equippedExists)
            {
                return(equippedSword);
            }
            else
            {
                equippedSword = null;
                return(null);
            }

        case Item.itemTypes.Helmet:
            if (!equippedHelmet)
            {
                return(null);
            }
            for (int i = 0; i < items.Count; i++)
            {
                equippedExists = items[i].itemSprite == equippedHelmet.itemSprite || equippedExists;
            }
            if (equippedExists)
            {
                return(equippedHelmet);
            }
            else
            {
                equippedHelmet = null;
                return(null);
            }

        default: return(null);
        }
    }
    public bool ReplaceItem(Item item, int index)
    {
        List <Item> itemsCopy = new List <Item>();

        for (int i = 0; i < items.Count; i++)
        {
            itemsCopy.Add(items[i]);
        }
        items.Clear();
        for (int i = 0; i < itemsCopy.Count; i++)
        {
            if (i != index)
            {
                items.Add(itemsCopy[i]);
            }
            else
            {
                items.Add(item);
            }
        }
        lastItemType = item.itemType;
        return(true);
    }