c# - Unity Button Delegates (AddListener) -


i'm trying instantie several button using prefab.

but i've got problem delegate variable.

for(int = 0; < _partnerlist.partner.count; i++) {     gameobject _instance_partner_button = instantiate(_prefab_partner_button);     _instance_partner_button.name = "_button_"+_partnerlist.partner[i].partner_name;      _instance_partner_button.transform.setparent(gameobject.find("_ui_menu_partner").transform, false);      // change value of button ----------------------------------------------------------------     text _instance_partner_button_text = _instance_partner_button.getcomponentinchildren<text>();     _instance_partner_button_text.text = _partnerlist.partner[i].partner_name;      button _instance_partner_button_button = _instance_partner_button.getcomponent<button>();      int _tempint = i;      // delegate script ---------------------------------------------------------------     _instance_partner_button_button.onclick.addlistener(() => _scripts_myscripts_ui.animationmenupartner(_tempint));     // ------------------------------------------------------------------------------------------- } 

the function animationmenupartner() debug.log(_tempint);

no matter button press result same.

i'm maybe missing something, see in link must working correctly link

thanks help.

edit :

the script function animationmenupartner

public void animationmenupartner(int _tempint) {     debug.log(_tempint)); } 

the log output print : "4"

which length of list.


Comments