虚幻4C++向蓝图发送消息。

虚幻4的delegate都定义在

Engine\Source\Runtime\Core\Public\Delegates\DelegateCombinations_Variadics.h

文件中。

用法我只简单说一下,其他可以自己测试。


首先要定义一个DELEGATE,

DECLARE_DYNAMIC_MULTICAST_DELEGATE(DELEGAET_NAME);
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(DELEGATE_NAME2, 参数1的类型, 参数1的形参名字);


然后在自己的类里面定义一个变量。


DELEGAET_NAME  m_delegate;

DELEGATE_NAME2 m_delegate2;


上面我定义了两个变量,一个是不用参数的,一个是用一个参数的。


然后什么时候想发消息,调用broadcast 就好了 。


m_delegate.Broadcast();

m_delegate2.Broadcast(要填一个参数进去);


这样,蓝图里面可以bind这个消息,C++就可以给蓝图发消息了。


CPP要是想绑定,可以这么写。

	TScriptDelegate<> MyObj;
	MyObj.BindUFunction(this, FName());
	m_delegate2.Add(MyObj)





你可能感兴趣的:(虚幻4)