// Generated by GasaGen/GasaGen_UGasaAttributeSet.cpp #pragma once #include "AttributeSet.h" #include "GasaAttributeSet.generated.h" UCLASS() class GASA_API UGasaAttributeSet : public UAttributeSet { GENERATED_BODY() public: UGasaAttributeSet(); UPROPERTY(ReplicatedUsing = Client_OnRep_Health, EditAnywhere, BlueprintReadWrite, Category = "Attributes") FGameplayAttributeData Health; UPROPERTY(ReplicatedUsing = Client_OnRep_MaxHealth, EditAnywhere, BlueprintReadWrite, Category = "Attributes") FGameplayAttributeData MaxHealth; UPROPERTY(ReplicatedUsing = Client_OnRep_Mana, EditAnywhere, BlueprintReadWrite, Category = "Attributes") FGameplayAttributeData Mana; UPROPERTY(ReplicatedUsing = Client_OnRep_MaxMana, EditAnywhere, BlueprintReadWrite, Category = "Attributes") FGameplayAttributeData MaxMana; UFUNCTION() void Client_OnRep_Health(FGameplayAttributeData& PrevHealth); UFUNCTION() void Client_OnRep_MaxHealth(FGameplayAttributeData& PrevMaxHealth); UFUNCTION() void Client_OnRep_Mana(FGameplayAttributeData& PrevMana); UFUNCTION() void Client_OnRep_MaxMana(FGameplayAttributeData& PrevMaxMana); #pragma region Getters static FGameplayAttribute GetHealthAttribute() { static FProperty* Prop = FindFieldChecked(UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED(UGasaAttributeSet, Health)); return Prop; } static FGameplayAttribute GetMaxHealthAttribute() { static FProperty* Prop = FindFieldChecked(UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED(UGasaAttributeSet, MaxHealth)); return Prop; } static FGameplayAttribute GetManaAttribute() { static FProperty* Prop = FindFieldChecked(UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED(UGasaAttributeSet, Mana)); return Prop; } static FGameplayAttribute GetMaxManaAttribute() { static FProperty* Prop = FindFieldChecked(UGasaAttributeSet::StaticClass(), GET_MEMBER_NAME_CHECKED(UGasaAttributeSet, MaxMana)); return Prop; } FORCEINLINE float GetHealth() const { return Health.GetCurrentValue(); } FORCEINLINE float GetMaxHealth() const { return MaxHealth.GetCurrentValue(); } FORCEINLINE float GetMana() const { return Mana.GetCurrentValue(); } FORCEINLINE float GetMaxMana() const { return MaxMana.GetCurrentValue(); } #pragma endregion Getters #pragma region Setters FORCEINLINE void SetHealth(float NewVal); FORCEINLINE void SetMaxHealth(float NewVal); FORCEINLINE void SetMana(float NewVal); FORCEINLINE void SetMaxMana(float NewVal); FORCEINLINE void InitHealth(float NewVal) { Health.SetBaseValue(NewVal); Health.SetCurrentValue(NewVal); } FORCEINLINE void InitMaxHealth(float NewVal) { MaxHealth.SetBaseValue(NewVal); MaxHealth.SetCurrentValue(NewVal); } FORCEINLINE void InitMana(float NewVal) { Mana.SetBaseValue(NewVal); Mana.SetCurrentValue(NewVal); } FORCEINLINE void InitMaxMana(float NewVal) { MaxMana.SetBaseValue(NewVal); MaxMana.SetCurrentValue(NewVal); } #pragma endregion Setters #pragma region AttributeSet void PreAttributeChange(const FGameplayAttribute& Attribute, float& NewValue) override; void PostGameplayEffectExecute(FGameplayEffectModCallbackData const& Data) override; #pragma endregion AttributeSet #pragma region UObject void GetLifetimeReplicatedProps(TArray& OutLifetimeProps) const override; #pragma endregion UObject };