Files
Aura/Source/Aura/Private/AbilitySystem/AuraAttributeSet.cpp

47 lines
1.3 KiB
C++

// Assets provided by DruidMechanics. Copyright Jonathan Rampersad 2024
#include "AbilitySystem/AuraAttributeSet.h"
#include "Net/UnrealNetwork.h"
UAuraAttributeSet::UAuraAttributeSet()
{
InitHealth(50.f);
InitMaxHealth(100.f);
InitMana(25.f);
InitMaxMana(50.f);
}
void UAuraAttributeSet::GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const
{
Super::GetLifetimeReplicatedProps(OutLifetimeProps);
#define CON_NOTIFY(Attribute) \
DOREPLIFETIME_CONDITION_NOTIFY(UAuraAttributeSet, Attribute, COND_None, REPNOTIFY_Always)
CON_NOTIFY(MaxHealth);
CON_NOTIFY(MaxMana);
CON_NOTIFY(Health)
CON_NOTIFY(Mana);
}
void UAuraAttributeSet::OnRep_Health(const FGameplayAttributeData& OldHealth) const
{
GAMEPLAYATTRIBUTE_REPNOTIFY(UAuraAttributeSet, Health, OldHealth);
}
void UAuraAttributeSet::OnRep_MaxHealth(const FGameplayAttributeData& OldMaxHealth) const
{
GAMEPLAYATTRIBUTE_REPNOTIFY(UAuraAttributeSet, MaxHealth, OldMaxHealth);
}
void UAuraAttributeSet::OnRep_Mana(const FGameplayAttributeData& OldMana) const
{
GAMEPLAYATTRIBUTE_REPNOTIFY(UAuraAttributeSet, Mana, OldMana);
}
void UAuraAttributeSet::OnRep_MaxMana(const FGameplayAttributeData& OldMaxMana) const
{
GAMEPLAYATTRIBUTE_REPNOTIFY(UAuraAttributeSet, MaxMana, OldMaxMana);
}