47 lines
1.3 KiB
C++
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);
|
|
} |