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); }
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); }