private void _FillSlots(int size) { _inventory.ItemInserted += OnItemInserted; _inventory.ItemRemoved += OnItemRemoved; for (int i = 0; i < size; i++) { GameObject slot = GameObject.Instantiate(_slotPrefab); slot.transform.SetParent(_containerBox.transform); slot.name = "Slot " + i; int inventorySlotIndex = i; ItemButton button = slot.AddComponent <ItemButton>(); button.Inventory = _inventory; button.ItemIndex = inventorySlotIndex; _slots [inventorySlotIndex] = slot; _slotsIcon [inventorySlotIndex] = slot.GetComponentsInChildren <Image> ()[1].gameObject; if (!_inventory.IsEmpty(inventorySlotIndex)) { _SetItemIcon(inventorySlotIndex, _inventory.Items [inventorySlotIndex].RawItem); _SetItemText(inventorySlotIndex, _inventory.Items [inventorySlotIndex]); } } }