Hook是一种机制,通过拦截和勾取一些事件来实现自己需求的方式。不同于传统的底层Hook,本篇文章主要介绍在UE中如何使用类似Hook的这种机制来实现业务需求。
有些需求是要全局地修改某个类的所有对象,比如在UI中为某种类型的的Button播放统一的音效,如果在每个控件都需要监听它的OnClicked再去播放音效,会有大量的重复操作。所以,我想要找一种全局的方法,可以监听所有UButton的点击事件,然后统一来处理。再或者想要控制一个在蓝图中不可见的属性,如果只是一些简单的需求就要去修改引擎的代码,有点得不偿失。
可以通过UE的反射机制来实现这些需求,本篇文章来提供一种思路,做一个简单的实现分析。