ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

在使用代理的时候,可以使用更简单的C++语法代替FGameplayAttribute代理,使用TStaticFuncPtr T

在使用代理的时候,可以使用更简单的C++语法代替FGameplayAttribute代理,使用TStaticFuncPtr T

DECLARE_DELEGATE_REVAL(FGameplayAttribute, FAttributeSignature); 

比如这里的代理

定义为FAttributeSignature AttributeSignature ;

 

 

但是可以不生命代理,直接声明

TBaseStaticDelegateInstance<FGameplayAttribute(), FDefaultDelegateUserPolicy>::FFuncPtr
它代表一个函数指针FGameplayAttribute(*)()
也就是说,这两个效果是一样的


然后可以使用C++中的语法
template<class T>
using TStaticFuncPtr = typename TBaseStaticDelegateInstance<T, FDefaultDelegateUserPolicy>::FFuncPtr;

最终的效果就是该代理被
TStaticFuncPtr <T>所代替,增加了复用性



返回列表