1. 添加事件
UIButton button = gameObject.GetComponent<UIButton>();
EventDelegate ev = new EventDelegate(this, "OnClick1");
EventDelegate.Add(button.onClick, ev);
UIButton button = gameObject.GetComponent<UIButton>();
EventDelegate ev = new EventDelegate(this, "OnClick1");
ev.parameters[0] = new EventDelegate.Parameter(button);
ev.parameters[1] = new EventDelegate.Parameter("HAHAHA");
EventDelegate.Add(button.onClick, ev);
2. 扩展UIButton可带参数在 EventDelegate
static public void Execute(List<EventDelegate> list, UIButton btn)
{if (list != null)
{
for (int i = 0; i < list.Count; )
{
EventDelegate del = list[i];
del.mParameters = new Parameter[1];
del.mParameters[0] = new Parameter(btn);
3. 在UIButton里面直接扩展带参数的方法
4. 继承UIbutton,扩展事件方法
添加一个委托,这样传入的就可以不是字符串
public void Invoke(Task task, float time)
{
Invoke(task.Method.Name, time);
}
24、使用扩展来让代码书写更便捷
public static class CSTransform
{
public static void SetX(this Transform transform, float x)
{
Vector3 newPosition =
new Vector3(x, transform.position.y, transform.position.z);
transform.position = newPosition;
}
...
}
1万+

被折叠的 条评论
为什么被折叠?



