private void AddInventoryStack(ItemStack stack) { ItemStackDisplayer stackDisplayer = GameObject.Instantiate(itemStackDisplayPrefab, inventoryZone) as ItemStackDisplayer; stackDisplayer.DisplayStack(stack); var onStartDrag = stackDisplayer.gameObject.AddComponent <CreateDraggedItemOnPointerDown> (); int count = stack.Count; onStartDrag.MakeFor(stack.ItemType, transform as RectTransform, draggedItemPrefab, () => { if (count > 0) { count--; stackDisplayer.DisplayStack(new ItemStack(stack.ItemType, count)); return(true); } else { return(false); } }, () => { count++; stackDisplayer.DisplayStack(new ItemStack(stack.ItemType, count)); }); }
private void Rebuild() { Debug.Log("InventoryPanelScript::Rebuild()"); for (int i = 0; i < transform.childCount; i++) { Destroy(transform.GetChild(i).gameObject); } foreach (ItemStack stack in Game.current.inventory.GetItemStacks()) { ItemStackDisplayer stackObj = GameObject.Instantiate(itemStackDisplayPrefab, transform) as ItemStackDisplayer; stackObj.DisplayStack(stack); } }