public void Add(Item item)
 {
     ItemShopSellbackHelper.ItemMemo itemMemo = this._memos.Find((Predicate <ItemShopSellbackHelper.ItemMemo>)(x => x.Matches(item)));
     if (itemMemo != null)
     {
         itemMemo.stack += item.stack;
     }
     else
     {
         this._memos.Add(new ItemShopSellbackHelper.ItemMemo(item));
     }
 }
        public int Remove(Item item)
        {
            ItemShopSellbackHelper.ItemMemo itemMemo = this._memos.Find((Predicate <ItemShopSellbackHelper.ItemMemo>)(x => x.Matches(item)));
            if (itemMemo == null)
            {
                return(0);
            }
            int stack = itemMemo.stack;

            itemMemo.stack -= item.stack;
            if (itemMemo.stack > 0)
            {
                return(stack - itemMemo.stack);
            }
            this._memos.Remove(itemMemo);
            return(stack);
        }
 public int GetAmount(Item item)
 {
     ItemShopSellbackHelper.ItemMemo itemMemo = this._memos.Find((Predicate <ItemShopSellbackHelper.ItemMemo>)(x => x.Matches(item)));
     return(itemMemo != null ? itemMemo.stack : 0);
 }