第一种情况
1 /// <summary>
2 /// 点击
3 /// </summary>
4 /// <param name="action"></param>
5 /// <param name="MyObject"></param>
6 public static void PointerClickEvent(Action action, GameObject MyObject)
7 {
8 // 定义所要绑定的事件类型
9 EventTrigger.Entry entry = new EventTrigger.Entry();
10 // 设置事件类型
11 entry.eventID = EventTriggerType.PointerClick;
12 // 初始化回调函数
13 entry.callback = new EventTrigger.TriggerEvent();
14 // 定义回调函数
15 UnityEngine.Events.UnityAction<BaseEventData> callBack = new UnityEngine.Events.UnityAction<BaseEventData>(((BaseEventData baseEventData) => {
16 action();
17 }));
18 // 绑定回调函数
19 entry.callback.AddListener(callBack);
20 //添加事件组件,添加方法
21 MyObject.AddComponent<EventTrigger>().triggers.Add(entry);
22 }
第二种情况
1 /// <summary>
2 /// 开始拖拽并获取位置
3 /// </summary>
4 /// <param name="action"></param>
5 /// <param name="MyObject"></param>
6 public static void DragEvent(Action<PointerEventData> action, GameObject MyObject)
7 {
8 // 定义所要绑定的事件类型
9 EventTrigger.Entry entry = new EventTrigger.Entry();
10 // 设置事件类型
11 entry.eventID = EventTriggerType.Drag;
12 // 初始化回调函数
13 entry.callback = new EventTrigger.TriggerEvent();
14 // 绑定回调函数
15 entry.callback.AddListener((baseEventData) =>action(baseEventData as PointerEventData));
16 //添加事件组件,添加方法
17 MyObject.AddComponent<EventTrigger>().triggers.Add(entry);
18 }