public void AddItemToShoppingCart(ItemInstance newItem)
    {
        int indexOf = shoppingCart.IndexOf(newItem);

        if (indexOf >= 0)
        {
            shoppingCart[indexOf].stock += newItem.stock;
        }
        else
        {
            ItemInstance newItemInstance            = new ItemInstance(newItem);
            ShoppingCartTransactionButton newButton = Instantiate(buttonPrefab, parent);
            newButton.HeldItem = newItemInstance;
            shoppingCart.Add(newItemInstance);
        }
        costOfTransaction += newItem.stock * newItem.item.baseSellPrice;
    }
    public void RemoveFromShoppingCart(ShoppingCartTransactionButton itemToRemove, int howMany)
    {
        int indexOf = shoppingCart.IndexOf(itemToRemove.HeldItem);

        if (indexOf >= 0)
        {
            if (itemToRemove.HeldItem.stock - howMany <= 0)
            {
                howMany            = itemToRemove.HeldItem.stock;
                costOfTransaction -= howMany * itemToRemove.HeldItem.item.baseSellPrice;
                shopPanel.ReturnItem(itemToRemove.HeldItem, howMany);
                itemToRemove.HeldItem.stock = 0;
                shoppingCart.RemoveAt(indexOf);
            }
            else
            {
                costOfTransaction -= howMany * itemToRemove.HeldItem.item.baseSellPrice;
                shopPanel.ReturnItem(itemToRemove.HeldItem, howMany);
                itemToRemove.HeldItem.stock -= howMany;
            }
        }
    }