/// <summary> /// Resizes the inventory panel, taking into account the number of rows/columns, the padding and margin /// </summary> protected void ResizeInventoryDisplay() { float newWidth = PaddingLeft + SlotSize.x * NumberOfColumns + SlotMargin.x * (NumberOfColumns - 1) + PaddingRight; float newHeight = PaddingTop + SlotSize.y * NumberOfRows + SlotMargin.y * (NumberOfRows - 1) + PaddingBottom; TargetInventory.ResizeArray(NumberOfRows * NumberOfColumns); Vector2 newSize = new Vector2(newWidth, newHeight); InventoryRectTransform.sizeDelta = newSize; InventoryGrid.GetComponent <RectTransform>().sizeDelta = newSize; }
/// <summary> /// Change the item in slot /// </summary> /// <param name="item"></param> /// <param name="attributes"></param> public int OnContentChange(Item item) { Item temp; if (TargetInventory.inventoryNumber == 0) { temp = TargetInventory.InventoryItems[ParentInventory.inventoryNumber - 1]; TargetInventory.InventoryItems[ParentInventory.inventoryNumber] = ItemInSlot; ParentInventory.RemoveFromInventory(ItemInSlot); ParentInventory.AddToInventory(temp); } else { TargetInventory.AddToInventory(ItemInSlot); ParentInventory.RemoveFromInventory(ItemInSlot); SetEmpty(); } return(TargetInventory.inventoryNumber == 0 ? ParentInventory.inventoryNumber: TargetInventory.inventoryNumber); }