From 1e629cdc1c973cb8bf7187d127fbc6466f10aff2 Mon Sep 17 00:00:00 2001 From: ghostie Date: Sun, 31 Aug 2025 16:29:18 -0500 Subject: [PATCH] attribute accessors --- .../Private/AbilitySystem/AuraAttributeSet.cpp | 5 ++++- .../Aura/Public/AbilitySystem/AuraAttributeSet.h | 14 +++++++++++--- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/Source/Aura/Private/AbilitySystem/AuraAttributeSet.cpp b/Source/Aura/Private/AbilitySystem/AuraAttributeSet.cpp index f3cc93b..43392d4 100644 --- a/Source/Aura/Private/AbilitySystem/AuraAttributeSet.cpp +++ b/Source/Aura/Private/AbilitySystem/AuraAttributeSet.cpp @@ -2,11 +2,14 @@ #include "AbilitySystem/AuraAttributeSet.h" -#include "AbilitySystemComponent.h" #include "Net/UnrealNetwork.h" UAuraAttributeSet::UAuraAttributeSet() { + InitHealth(100.f); + InitMaxHealth(100.f); + InitMana(50.f); + InitMaxMana(50.f); } void UAuraAttributeSet::GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const diff --git a/Source/Aura/Public/AbilitySystem/AuraAttributeSet.h b/Source/Aura/Public/AbilitySystem/AuraAttributeSet.h index 091d002..759e60e 100644 --- a/Source/Aura/Public/AbilitySystem/AuraAttributeSet.h +++ b/Source/Aura/Public/AbilitySystem/AuraAttributeSet.h @@ -4,11 +4,15 @@ #include "CoreMinimal.h" #include "AttributeSet.h" +#include "AbilitySystemComponent.h" #include "AuraAttributeSet.generated.h" -/** - * - */ +#define ATTRIBUTE_ACCESSORS(ClassName, PropertyName) \ + GAMEPLAYATTRIBUTE_PROPERTY_GETTER(ClassName, PropertyName) \ + GAMEPLAYATTRIBUTE_VALUE_GETTER(PropertyName) \ + GAMEPLAYATTRIBUTE_VALUE_SETTER(PropertyName) \ + GAMEPLAYATTRIBUTE_VALUE_INITTER(PropertyName) + UCLASS() class AURA_API UAuraAttributeSet : public UAttributeSet { @@ -20,15 +24,19 @@ public: UPROPERTY (BlueprintReadOnly, ReplicatedUsing = OnRep_Health, Category = "Vital Attributes") FGameplayAttributeData Health; + ATTRIBUTE_ACCESSORS(UAuraAttributeSet, Health) UPROPERTY (BlueprintReadOnly, ReplicatedUsing = OnRep_MaxHealth, Category = "Vital Attributes") FGameplayAttributeData MaxHealth; + ATTRIBUTE_ACCESSORS(UAuraAttributeSet, MaxHealth) UPROPERTY (BlueprintReadOnly, ReplicatedUsing = OnRep_Mana, Category = "Vital Attributes") FGameplayAttributeData Mana; + ATTRIBUTE_ACCESSORS(UAuraAttributeSet, Mana) UPROPERTY (BlueprintReadOnly, ReplicatedUsing = OnRep_MaxMana, Category = "Vital Attributes") FGameplayAttributeData MaxMana; + ATTRIBUTE_ACCESSORS(UAuraAttributeSet, MaxMana) UFUNCTION () void OnRep_Health(const FGameplayAttributeData& OldHealth) const;