1. 代码
void UFightAttributeSet::PostGameplayEffectExecute(const FGameplayEffectModCallbackData& Data)
{
Super::PostGameplayEffectExecute(Data);
// 无法调用 Data.EffectSpc
}
2.解决
头文件导入
#include "GameplayEffectExtension.h"
该头文件中含有构造体,如下
struct FGameplayEffectModCallbackData
{
FGameplayEffectModCallbackData(const FGameplayEffectSpec& InEffectSpec, FGameplayModifierEvaluatedData& InEvaluatedData, UAbilitySystemComponent& InTarget)
: EffectSpec(InEffectSpec)
, EvaluatedData(InEvaluatedData)
, Target(InTarget)
{
}
const struct FGameplayEffectSpec& EffectSpec; // The spec that the mod came from
struct FGameplayModifierEvaluatedData& EvaluatedData; // The 'flat'/computed data to be applied to the target
class UAbilitySystemComponent &Target; // Target we intend to apply to
};