0
点赞
收藏
分享

微信扫一扫

[UE4] 反射式的事件分发器的事件分发机制与主动式的调用事件机制

法1 主动式的调用事件机制

1.在需要发送事件的 Actor 中获取需要接受事件的 Actor 的引用

在这里插入图片描述

2.在需要发送事件的 Actor 中调用需要接受事件的 Actor 的事件

在这里插入图片描述

法2 反射式的事件分发器的事件分发机制

1.在需要发送事件的 Actor 中新建事件分发器

在这里插入图片描述

2.在需要发送事件的 Actor 中调用事件分发器

在这里插入图片描述

3.在需要接受事件的 Actor 中获取需要发送事件的 Actor 的引用,订阅需要发送事件的 Actor 的事件分发器

在这里插入图片描述
在这里插入图片描述

一种是被动的一种是主动的,我也不好说哪个比较好吧……
但是从结构的角度来说,一个输入组件只负责自己的事情是比较好的,因此反射的方式更好
细说就是,如果要用主动的方式,需要发送事件的 Actor 需要知道谁是需要接受事件的 Actor,才能调用它的事件。但是实际上我作为一个输入口,我只负责接受输入,我不想知道我要给谁,如果我要知道我需要把输入传给谁的话,那我岂不是随着项目量的增加,要写一个很长的列表保存我需要调用事件的对象?这样做是不优雅的,很容易出错,不如你们自己过来拿,有需要就来拿,我不管你是谁,我就只负责给出来而已。这样就少了很多代码了。而且,对于需要接受事件的 Actor,它虽然需要知道需要发送事件的 Actor是谁,但这恰好是它负责了它的事:我需要,我就去要

举报

相关推荐

0 条评论