这篇博客介绍了UE4中的Multi-Cast Delegate的使用方法以及如何使用Multi-Cast Delgate实现观察者模式。
Delegate
Delegate所起的作用是把一个对象与其函数绑定起来,从而产生一个可以全局调用的函数。在C#中已经内置了这样的功能,但是在C++ 11中似乎并没有一个很官方的实现。针对于在C++ 11中实现Delegate,可以参考这两篇文章:Implementation of Delegates in C++11,The Impossibly Fast C++ Delegates
UE4中的Delegate
UE4针对于Delegate做了封装,目前是使用宏来实现的(可能是由于历史包袱?),可以实现高达8个变量的设定。关于UE4中的Delegate,对应的文档已经讲的很清楚了,