Exemplo n.º 1
0
        public bool Merge(IItemStack itemStack)
        {
            if (itemStack == null)
            {
                return(false);
            }
            if (_items.Count > 0 &&
                _itemName != itemStack.GetItemName())
            {
                return(false);
            }
            var count     = itemStack.GetCount();
            var wasMerged = false;

            for (var i = 0; i < count; i++)
            {
                var removed = itemStack.RemoveOne();
                if (Add(removed))
                {
                    wasMerged = true;
                }
                else
                {
                    //add it back to the other stack
                    itemStack.Add(removed);
                    break;
                }
            }

            return(wasMerged);
        }
Exemplo n.º 2
0
        private void UpdateView()
        {
            var alpha = 1f;

            if (_itemStack.GetCount() == 0)
            {
                alpha        = 0f;
                Image.sprite = null;
            }
            else
            {
                Image.sprite = _itemStack.GetItems()[0].GetSprite();
                Text.text    = _itemStack.GetCount().ToString();
            }

            Image.color = InventoryUtils.ChangeAlpha(Image.color, alpha);
            Text.color  = InventoryUtils.ChangeAlpha(Text.color, alpha);
        }