Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma once
- #include "CoreMinimal.h"
- #include "AttributeSet.h"
- #include "AbilitySystemComponent.h"
- #include "GASAttributeSet.generated.h"
- //Uses macros from AttributeSet.h
- #define ATTRIBUTE_ACCESSORS(ClassName, PropertyName) \
- GAMEPLAYATTRIBUTE_PROPERTY_GETTER(ClassName, PropertyName) \
- GAMEPLAYATTRIBUTE_VALUE_GETTER(PropertyName) \
- GAMEPLAYATTRIBUTE_VALUE_SETTER(PropertyName) \
- GAMEPLAYATTRIBUTE_VALUE_INITTER(PropertyName)
- /**
- *
- */
- UCLASS()
- class GAS_API UGASAttributeSet : public UAttributeSet
- {
- GENERATED_BODY()
- public:
- UGASAttributeSet();
- virtual void GetLifetimeReplicatedProps(TArray<FLifetimeProperty>& OutLifetimeProps) const override;
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_Health)
- FGameplayAttributeData Health;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, Health);
- UFUNCTION()
- virtual void OnRep_Health(const FGameplayAttributeData& OldHealth);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_HealthMax)
- FGameplayAttributeData HealthMax;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, HealthMax);
- UFUNCTION()
- virtual void OnRep_HealthMax(const FGameplayAttributeData& OldHealthMax);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_HealthRecoveryRate)
- FGameplayAttributeData HealthRecoveryRate;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, HealthRecoveryRate);
- UFUNCTION()
- virtual void OnRep_HealthRecoveryRate(const FGameplayAttributeData& OldHealthRecoveryRate);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_HealthRecoveryDelay)
- FGameplayAttributeData HealthRecoveryDelay;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, HealthRecoveryDelay);
- UFUNCTION()
- virtual void OnRep_HealthRecoveryDelay(const FGameplayAttributeData& OldHealthRecoveryDelay);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_Armour)
- FGameplayAttributeData Armour;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, Armour);
- UFUNCTION()
- virtual void OnRep_Armour(const FGameplayAttributeData& OldArmour);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_ArmourMax)
- FGameplayAttributeData ArmourMax;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, ArmourMax);
- UFUNCTION()
- virtual void OnRep_ArmourMax(const FGameplayAttributeData& OldArmourMax);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_Shield)
- FGameplayAttributeData Shield;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, Shield);
- UFUNCTION()
- virtual void OnRep_Shield(const FGameplayAttributeData& OldShield);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_ShieldMax)
- FGameplayAttributeData ShieldMax;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, ShieldMax);
- UFUNCTION()
- virtual void OnRep_ShieldMax(const FGameplayAttributeData& OldShieldMax);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_WalkSpeed)
- FGameplayAttributeData WalkSpeed;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, WalkSpeed);
- UFUNCTION()
- virtual void OnRep_WalkSpeed(const FGameplayAttributeData& OldWalkSpeed);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_FlySpeed)
- FGameplayAttributeData FlySpeed;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, FlySpeed);
- UFUNCTION()
- virtual void OnRep_FlySpeed(const FGameplayAttributeData& OldFlySpeed);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_JumpVelocity)
- FGameplayAttributeData JumpVelocity;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, JumpVelocity);
- UFUNCTION()
- virtual void OnRep_JumpVelocity(const FGameplayAttributeData& OldJumpVelocity);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_MeleePower)
- FGameplayAttributeData MeleePower;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, MeleePower);
- UFUNCTION()
- virtual void OnRep_MeleePower(const FGameplayAttributeData& OldMeleePower);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_ProjectilePower)
- FGameplayAttributeData ProjectilePower;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, ProjectilePower);
- UFUNCTION()
- virtual void OnRep_ProjectilePower(const FGameplayAttributeData& OldProjectilePower);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_AbilityPower)
- FGameplayAttributeData AbilityPower;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, AbilityPower);
- UFUNCTION()
- virtual void OnRep_AbilityPower(const FGameplayAttributeData& OldAbilityPower);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_ExplosionPower)
- FGameplayAttributeData ExplosionPower;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, ExplosionPower);
- UFUNCTION()
- virtual void OnRep_ExplosionPower(const FGameplayAttributeData& OldExplosionPower);
- UPROPERTY(BlueprintReadOnly, Category = "Attributes", ReplicatedUsing = OnRep_CritPower)
- FGameplayAttributeData CritPower;
- ATTRIBUTE_ACCESSORS(UGASAttributeSet, CritPower);
- UFUNCTION()
- virtual void OnRep_CritPower(const FGameplayAttributeData& OldCritPower);
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement