虚幻引擎:代理

一、代理类型 

1.单薄代理

        特点:允许有返回值,允许有参数,只可以一对一的传递消息就算绑定多个,但是总会被最后一个覆盖

2.多播代理

 

        特点:不允许有返回值,允许有参数允许一对多传递消息

3.动态代理        

        特点:声明的类型必须以F开头,结尾必须加分号 只能绑定在UFUNCITION标记的函数上

        单播 可以作为参数通过蓝图传递

 

         多播 不允许作为参数通过蓝图传递

        

二、代理的使用

以单播为例

 

//声明代理对象
DECLARE_DELEGATE(DelCBo1)
//创建代理对象
DelCBo1 Enevnt;
//绑定代理对象:在需要使用的地方绑定

代理存在组件->Enevnt.AddUObject(this,&UPackageUserWidget::AddItem);
 解除绑定  代理存在组件->OnAddItemToPackage.UnBind(this);

//执行代理回调
if(Enevnt.IsBound())
{
	Enevnt.Execute(temp);
}

你可能感兴趣的:(UE5,ue5,虚幻,c++)