RealtimeStyleTransferRuntime/Source/LyraGame/AbilitySystem/Attributes/LyraCombatSet.h

54 lines
1.4 KiB
C
Raw Normal View History

2022-05-23 18:41:30 +00:00
// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
2022-09-13 07:18:28 +00:00
#include "AbilitySystemComponent.h"
#include "AttributeSet.h"
2022-05-23 18:41:30 +00:00
#include "LyraAttributeSet.h"
2022-09-13 07:18:28 +00:00
#include "Misc/AssertionMacros.h"
#include "UObject/Class.h"
#include "UObject/UObjectGlobals.h"
2022-05-23 18:41:30 +00:00
#include "LyraCombatSet.generated.h"
2022-09-13 07:18:28 +00:00
class UObject;
struct FFrame;
2022-05-23 18:41:30 +00:00
/**
* ULyraCombatSet
*
* Class that defines attributes that are necessary for applying damage or healing.
* Attribute examples include: damage, healing, attack power, and shield penetrations.
*/
UCLASS(BlueprintType)
class ULyraCombatSet : public ULyraAttributeSet
{
GENERATED_BODY()
public:
ULyraCombatSet();
ATTRIBUTE_ACCESSORS(ULyraCombatSet, BaseDamage);
ATTRIBUTE_ACCESSORS(ULyraCombatSet, BaseHeal);
protected:
UFUNCTION()
void OnRep_BaseDamage(const FGameplayAttributeData& OldValue);
UFUNCTION()
void OnRep_BaseHeal(const FGameplayAttributeData& OldValue);
private:
// The base amount of damage to apply in the damage execution.
UPROPERTY(BlueprintReadOnly, ReplicatedUsing = OnRep_BaseDamage, Category = "Lyra|Combat", Meta = (AllowPrivateAccess = true))
FGameplayAttributeData BaseDamage;
// The base amount of healing to apply in the heal execution.
UPROPERTY(BlueprintReadOnly, ReplicatedUsing = OnRep_BaseHeal, Category = "Lyra|Combat", Meta = (AllowPrivateAccess = true))
FGameplayAttributeData BaseHeal;
};