GAMEPLAYATTRIBUTE_PROPERTY_GETTER(ClassName, PropertyName) \
GAMEPLAYATTRIBUTE_VALUE_GETTER(PropertyName) \
GAMEPLAYATTRIBUTE_VALUE_SETTER(PropertyName) \
GAMEPLAYATTRIBUTE_VALUE_INITTER(PropertyName)
19 : public UAttributeSet
20{
21 GENERATED_BODY()
22
23public:
25
26 virtual void PreAttributeChange(const FGameplayAttribute& Attribute, float& NewValue) override;
27 virtual void PostGameplayEffectExecute(const struct FGameplayEffectModCallbackData& Data) override;
28
29
30 void InitBaseStats(float InMaxHealth, float InMoveSpeed, float InAttack, float InAttackSpeed, float InStunDuration);
31
40
41 mutable FDeathDelegate OnDeathDelegate;
42 FOnDamageTakenDelegate OnDamageDelegate;
43
44public:
45 bool bOutOfHealth = false;
46 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (AllowPrivateAccess = true))
47 FGameplayAttributeData Health;
48
49 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (AllowPrivateAccess = true))
50 FGameplayAttributeData MaxHealth;
51
52 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (AllowPrivateAccess = true))
53 FGameplayAttributeData MoveSpeed;
54
55 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (AllowPrivateAccess = true))
56 FGameplayAttributeData
Attack;
57
58 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (AllowPrivateAccess = true))
59 FGameplayAttributeData AttackSpeed;
60
61 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (HideFromModifiers))
62 FGameplayAttributeData Damage;
63
64 UPROPERTY(BlueprintReadOnly, Category = "Damage", meta = (HideFromModifiers))
65 FGameplayAttributeData DamageIsCritical;
66
67 UPROPERTY(BlueprintReadOnly, Category = "Stat", meta = (AllowPrivateAccess = true))
68 FGameplayAttributeData StunDuration;
69}
#define ATTRIBUTE_ACCESSORS(ClassName, PropertyName)
Definition BaseAttributeSet.h:13
Definition BaseAttributeSet.h:21