using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems; public class Trigger : MonoBehaviour
{
EventTrigger eventTrigger;
// Start is called before the first frame update
void Start()
{
eventTrigger = GetComponent<EventTrigger>(); AddPointerEnterEvent();
AddPointerExitEvent();
AddPointerClickEvent();
} void AddPointerEnterEvent()
{
EventTrigger.Entry entry = new EventTrigger.Entry();
entry.eventID = EventTriggerType.PointerEnter;
entry.callback = new EventTrigger.TriggerEvent();
UnityEngine.Events.UnityAction<BaseEventData> callback = new UnityEngine.Events.UnityAction<BaseEventData>(PointerEnter);
entry.callback.AddListener(callback);
eventTrigger.triggers.Add(entry);
Debug.Log("AddPointerEnterEvent");
} void AddPointerExitEvent()
{
EventTrigger.Entry entry = new EventTrigger.Entry();
entry.eventID = EventTriggerType.PointerExit;
entry.callback = new EventTrigger.TriggerEvent();
UnityEngine.Events.UnityAction<BaseEventData> callback = new UnityEngine.Events.UnityAction<BaseEventData>(PointerExit);
entry.callback.AddListener(callback);
eventTrigger.triggers.Add(entry);
Debug.Log("AddPointerExitEvent");
} void AddPointerClickEvent()
{
EventTrigger.Entry entry = new EventTrigger.Entry();
entry.eventID = EventTriggerType.PointerClick;
entry.callback = new EventTrigger.TriggerEvent();
UnityEngine.Events.UnityAction<BaseEventData> callback = new UnityEngine.Events.UnityAction<BaseEventData>(PointerClick);
entry.callback.AddListener(callback);
eventTrigger.triggers.Add(entry);
Debug.Log("AddPointerClickEvent");
} void PointerEnter(BaseEventData baseEventData)
{
Debug.Log("enter");
} void PointerExit(BaseEventData baseEventData)
{
Debug.Log("exit");
} void PointerClick(BaseEventData baseEventData)
{
Debug.Log("click");
}
}

用脚本动态给EventTrigger添加各种事件

最新文章

  1. 解析大型.NET ERP系统 灵活复杂的界面控件Infragistics WinForms
  2. css全局样式
  3. 北京Java培训机构哪个好
  4. 【软件分析与挖掘】Vision of Software Clone Management: Past, Present, and Future (Keynote Paper)
  5. JS对URL字符串进行编码/解码分析
  6. java核心数据结构总结
  7. polling 和 long polling 工作原理
  8. Linux守护进程的编程实现
  9. iOS 图片压缩方法
  10. (转)Bat Command
  11. 《java.util.concurrent 包源码阅读》24 Fork/Join框架之Work-Stealing
  12. Mysql 30条军规
  13. android H5支付 网络环境未能通过安全验证,请稍后再试
  14. Android开发 ---基本UI组件4:拖动事件、评分进度条、圆圈式进度条、进度条控制
  15. blfs(systemd版本)学习笔记-wget的安装与配置
  16. “一切都是消息”--iMSF(即时消息服务框架)之【发布-订阅】模式
  17. curl提示不支持https协议解决方法
  18. django-缓存的应用
  19. opencv3——ANN算法的使用
  20. NodeJS类型定义方式

热门文章

  1. Oracle导入数据时出错ORA-39143:转储文件可能是原始的转储文件
  2. 7 AOP
  3. Js 实现页面缩放
  4. cron表达式的用法 【比较全面靠谱】
  5. 浅析 Nodejs 模块化
  6. Linux 常用高效操作
  7. Flutter 的url_launcher简介
  8. centos安装软件
  9. Insomni’hack CTF-l33t-hoster复现分析
  10. js中函数总结(1)