UnityAction 、UnityEvent、 EventTrigger

UnityAction是 void的带一个参数的委托

UnityEvent是对UnityAction的封装  Addlistener相当于+=   Remove相当于-=

EventTrigger是一个实现了所有点击拖拽等等接口的组件

添加了他就等于实现了所有接口。

但是他的回调注册机制很奇怪,此类的内部有一个Entry的list

Entry是一个struct,保存两个东西,一个是事件类型的枚举,另一个是UnityEvent

类外部通过点出这个list,然后添加Entry的方式进行回调注册(可能这么实现是为了方便编辑器?)

但是他在触发事件的回调中要运行那个被注册的回调是不是就要遍历所有的Entry呢?虽然数量也不多...

强迫症患者可以考虑自己实现一个EventTrigger 把回调公开出去直接注册,但是等于会拦截掉你没有注册过的事件

所以UniRx 了解一下

EventTriggerUnity中的一个组件,用于处理游戏对象上的事件触发。它继承了许多事件接口,为开发者提供了方便的事件处理功能。通过使用EventTrigger,开发者可以在特定的事件发生时执行自定义的操作。 在Unity中,EventTrigger可以用于许多场景,比如在用户点击按钮时触发某个动作,或者在鼠标进入某个区域时触发某个效果等。它可以与其他Unity插件或扩展一起使用,例如Ultimate FPS (UFPS)、Uni2D和Vectrosity等。 在EventTrigger中,有多个事件可以进行配置,例如PointerClick事件、PointerEnter事件和PointerExit事件等。每个事件可以与一个或多个自定义方法关联,以在事件发生时执行相应的操作。 举个例子,当用户点击一个按钮时,可以通过配置EventTrigger的PointerClick事件来调用一个自定义的方法,来处理按钮点击事件。同样地,当鼠标进入或退出某个区域时,可以通过配置EventTrigger的PointerEnter和PointerExit事件来执行相应的操作。 总之,UnityEventTrigger提供了一个灵活的事件触发系统,可以帮助开发者更方便地处理游戏对象上的事件。通过合理地配置EventTrigger,开发者可以实现各种各样的交互效果和游戏逻辑。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [UnityEventTrigger的几种使用方法](https://blog.csdn.net/qq_45152631/article/details/107388530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [unity Behavior Designer 1.5.10 AI专用插件](https://download.csdn.net/download/qq_36848370/10389567)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [unity | EventTrigger(Button按钮按下、抬起等时执行的方法)](https://blog.csdn.net/weixin_49427945/article/details/127283331)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值