// 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 };