public void InstantiateTileAtPosition(InventoryTileInfo info, int position) { InventorySlot inventorySlot = slotTransforms[position].GetComponent<InventorySlot>(); Transform slotTransform = slotTransforms[position]; GameObject newTile = Instantiate(genericInventoryTile) as GameObject; newTile.transform.SetParent(transform); newTile.transform.position = slotTransform.position; // Need to set this explicitly or else scale will automatically be set to the wrong value. newTile.transform.localScale = new Vector2(1, 1); newTile.GetComponent<RectTransform>().sizeDelta = tileSize; newTile.GetComponent<InventoryTile>().Init(slotTransform, slotRects, info.Weapon, tooltip); inventorySlot.SetTile(newTile.GetComponent<InventoryTile>()); Player.PlayerWeaponControl.ReconfigureWeapons(); }
public void InstantiateNewTile(InventoryTileInfo info) { int slotNumber = -1; for (int i = 0; i < slotTransforms.Count; i++) { InventorySlot inventorySlot = slotTransforms[i].GetComponent<InventorySlot>(); if (!inventorySlot.Occupied) { slotNumber = i; break; } } if (slotNumber != -1) { InstantiateTileAtPosition(info, slotNumber); } }