public void setEquipment(Equipment[] eq) { equipment = eq; RectTransform rt = GetComponent <RectTransform> (); float scale = 0.88f; float eqDetailWidth = 81f * scale; float eqDetailHeight = 61f * scale; float offsetStartX = -rt.rect.width / 2f + eqDetailWidth / 2f; float offsetStartY = rt.rect.height / 2f - eqDetailHeight / 2f; float offsetX = offsetStartX; float offsetY = offsetStartY; eqInRow = (int)Mathf.Floor(rt.rect.width / eqDetailWidth); List <InterfaceEquipmentTile> list = new List <InterfaceEquipmentTile>(); for (int i = 0; i < equipment.Length; i++) { InterfaceEquipmentTile equipmentTile = null; GameObject equipmentElement = Instantiate(equipmentDetailsPrefab, transform.position, transform.rotation, transform); equipmentElement.transform.localPosition = new Vector3(offsetX, offsetY, equipmentElement.transform.position.z); equipmentElement.transform.localScale = new Vector3(scale, scale, scale); equipmentTile = equipmentElement.GetComponent <InterfaceEquipmentTile>(); equipmentTile.setEquipment(equipment[i]); equipmentTile.index = i + 1; //equipmentTile.master = this; offsetX += eqDetailWidth; if ((i + 1) % eqInRow == 0) { offsetX = offsetStartX; offsetY -= eqDetailHeight; } list.Add(equipmentTile); } equipmentTiles = list.ToArray(); }
public void setEquipment(Equipment[] eq) { for (int i = 0; i < equipmentTilesGameObjects.Length; i++) { Destroy(equipmentTilesGameObjects[i]); } for (int i = 0; i < equipmentTiles.Length; i++) { equipmentTiles[i].remove(); } List <Equipment> newEquipmentList = new List <Equipment>(); List <InterfaceEquipmentTile> tileList = new List <InterfaceEquipmentTile>(); List <GameObject> tileGOList = new List <GameObject>(); for (int i = 0; i < eq.Length; i++) { if (eq[i].isInoperative() == false) { GameObject equipmentElement = (GameObject)Instantiate(equipmentTilePrefab, equipmentTilesHolder.transform.position, equipmentTilesHolder.transform.rotation, equipmentTilesHolder.transform); InterfaceEquipmentTile equipmentTile = equipmentElement.GetComponent <InterfaceEquipmentTile>(); equipmentTile.setEquipment(eq[i]); equipmentTile.setIndex(i + 1); equipmentTile.setMaster(this); newEquipmentList.Add(eq[i]); tileGOList.Add(equipmentElement); tileList.Add(equipmentTile); } } equipment = newEquipmentList.ToArray(); equipmentTiles = tileList.ToArray(); equipmentTilesGameObjects = tileGOList.ToArray(); drawEquipment(); }