1使用代理去简化,属性的实现

DECLARE_DELEGATE_REVAL(FGameplayAttribute, FAttributeSignature); 

替换为

TBaseStaticDelegateInstance<FGameplayAttribute(), FDefaultDelegateUserPolicy>::FFuncPtr
还可以替换为
FGameplayAttribute(*)()

使用了别名
typedef TBaseStaticDelegateInstance<FGameplayAttribute(), FDefaultDelegateUserPolicy>::FFuncPtr FAttributeFuncPtr;

使用了泛型
template<class T>
using TStaticFuncPtr = typename TBaseStaticDelegateInstance<T, FDefaultDelegateUserPolicy>::FFuncPtr;
posted on 2025-09-11 16:18  偷懒的阿贤  阅读(7)  评论(0)    收藏  举报