☰
【Unity UGUI源码深度解析】21|ExecuteEvents源码解析:接口派发、层级查找与EventTrigger拦截现象
2026/10/1 15:39:13 网站建设 项目流程

《UGUI源码深度解析》第 21 篇 · 界面小组工作日志
基准:Unity 2022.3.62f2c1 / 本地 UGUI 1.0.0。
人物与项目情节为虚构;源码机制以本地实现为准。

一、子图标加了EventTrigger,父按钮怎么不响了?

阿澈想给装备图标加悬停提示,于是在 Button 的子 Image 上挂了 EventTrigger。提示还没配置完,父按钮的点击却出现变化。

“我没写拦截点击,为什么会影响它?”

答案不在回调列表里,而在组件实现了哪些事件接口。ExecuteEvents 判断的是谁能处理某类事件,不是 Inspector 里是否真的填了有用回调。

这篇我们拆开三个经常一起出现的方法:Execute、ExecuteHierarchy 和 GetEventHandler。

二、Execute只管指定对象

Execute 收集目标 GameObject 上实现 T 的有效组件,逐个调用给定 EventFunction。Behaviour 必须活跃启用,GameObject 也要处于活跃层级。

它不自动向父级递归。目标上有多个相同接口处理者,可以都收到这次执行;不是只调用找到的第一个组件。

“eventData.Us

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询