您的位置:首页 > 产品设计 > UI/UE

NGUI中 EventDelegate 如何创建一个带参数的函数委托

2014-12-11 13:57 501 查看
下面的内容讲述了如何在List<EventDelegate> 实例的委托链中加入一个带参数的函数。

以UIToggle为例,现在要在它的onChange中添加一个回调函数

设  UIToggle  脚本实例为   tmp_tog,

UIToggle所在的GameObject为 tmp_obj

回调脚本为 tmp_item ,

要执行的函数为 public void setCurrent(GameObject obj)

//实例化一个EventDelegate 对象

EventDelegate tmpDEL = new EventDelegate(tmp_item,"setCurrent");

//把它的.parameters[0]指定为函数的第一个参数,本例就只有一个参数,如果多个参数的话,同样的为[1]、[2]....赋值,

//其中obj就是第一个参数,field应该不重复就行,具体不详,我是随便写的。

tmpDEL.parameters[0] = new EventDelegate.Parameter() { obj = tmp_obj, field = "toggle"};

//在onChange链表中加入该EventDelegate 对象

 tmp_tog.onChange.Add(tmpDEL);

以上实测可行,注意parameters[x] 赋值里写的参数与回调函数的一致性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity3d ngui
相关文章推荐