我试图使用预制件立即启动几个按钮。
但是我对Delegate变量有问题。
for(int i = 0; i < _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 The 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 to Another Script ---------------------------------------------------------------
_instance_partner_button_button.onClick.AddListener(() => _scripts_myScripts_ui.AnimationMenuPartner(_tempInt));
// -------------------------------------------------------------------------------------------
}
函数AnimationMenuPartner()只是Debug.Log(_tempInt);
无论我按哪个按钮,结果都是一样的。
我可能会遗漏某些内容,因为我在此链接中看到它必须正常工作Link
感谢您的帮助。
编辑:
具有AnimationMenuPartner功能的另一个脚本
public void AnimationMenuPartner(int _tempInt)
{
Debug.Log(_tempInt));
}
日志输出打印:&#34; 4&#34;
列表的长度。