private float ListGemsInPanel(GameObject weapon, RectTransform rTransform, List <GameObject> gemList, string buttonText, float startingOffset = 0) { GameObject gemRow; float offset = startingOffset; foreach (GameObject gem in gemList) { gemRow = Instantiate(gemRowPrefab); GemRowHandler handler = gemRow.GetComponent <GemRowHandler>(); handler.RefreshGem(gem); gemRow.transform.SetParent(rTransform, false); gemRow.transform.localPosition = new Vector3(gemRow.transform.localPosition.x, offset, gemRow.transform.localPosition.z); offset -= 37; // Obtengo los botones Button infoButton = handler.gemInfoButton; Button equipButton = handler.gemEquipButton; // Limpio los botones infoButton.onClick.RemoveAllListeners(); equipButton.onClick.RemoveAllListeners(); // Agrego el listener AddListenersToGemRowButtons(infoButton, equipButton, gem.GetComponent <UpgradeScript>().description, gem, weapon, buttonText); // Si no hay más espacio para equipar gemas y es una gema que se puede equipar, le desactivo el boton para equipar if (buttonText == "Equip" && !weapon.GetComponent <WeaponScript>().CanEquipGem()) { equipButton.interactable = false; } else if (buttonText == "Equip") { equipButton.interactable = true; } gemRows.Add(gemRow); } rTransform.sizeDelta = new Vector2(equippedGemsContent.sizeDelta.x, -offset); return(offset); }
private float ListGemsInPanel(RectTransform rTransform, List <GameObject> gemList, UnityEngine.Events.UnityAction <Button, Button, string, GameObject> onClickAdder, float startingOffset = 0) { GameObject gemRow; float offset = startingOffset; foreach (GameObject gem in gemList) { gemRow = Instantiate(gemRowPrefab); GemRowHandler handler = gemRow.GetComponent <GemRowHandler>(); handler.RefreshGem(gem); gemRow.transform.SetParent(rTransform, false); gemRow.transform.localPosition = new Vector3(gemRow.transform.localPosition.x, offset, gemRow.transform.localPosition.z); offset -= 37; // Obtengo los botones Button infoButton = handler.gemInfoButton; Button equipButton = handler.gemEquipButton; // Limpio los botones infoButton.onClick.RemoveAllListeners(); equipButton.onClick.RemoveAllListeners(); // Agrego el listener onClickAdder(infoButton, equipButton, gem.GetComponent <UpgradeScript>().description, gem); gemRows.Add(gemRow); } rTransform.sizeDelta = new Vector2(rTransform.sizeDelta.x, -offset); return(offset); }