Пример #1
0
    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);
    }
Пример #2
0
    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);
    }