Dinamik Butona Erişme


Unity dinamik olarak oluşturulmuş butonun textine erişmek
Buton içeriği oyun içerisinde değişiyorsa;

//kodlar
public void kareDoldur()
    {
        for (int i = 0; i < kareDizisi.Length; i++)
        {
         
            GameObject karebtn = Instantiate(karePrefab, karelerPaneli);
            karebtn.transform.GetComponent<Button>().onClick.AddListener(() => butonaBasildi(karebtn.transform.GetChild(0).GetComponent<Text>()));
            kareDizisi[i] = karebtn;
        }
        StartCoroutine(kareDofadeRoutine());
    }

    void butonaBasildi(Text textArea)
    {
        Debug.Log(textArea.text);
    }

Oyun içerisinde hiç değişmiyorsa sadece bir kere set ederken değişiyorsa direkt o değeri verebilirsin fonksiyona
//kodlar
public void kareDoldur()
{
    for (int i = 0; i < kareDizisi.Length; i++)
    {
        Button karebtn = Instantiate(karePrefab, karelerPaneli);
        var text = karebtn.transform.GetChild(0).GetComponent<Text>().text;
        karebtn.onClick.AddListener(() => butonaBasildi(text));
        kareDizisi[i] = kare;
    }
    StartCoroutine(kareDofadeRoutine());
}

void butonaBasildi(string text){
    Debug.Log(text);
}

Yorum Gönder

0 Yorumlar