下面的内容讲述了如何在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] 赋值里写的参数与回调函数的一致性