5#include "CoreMinimal.h"
7#include "HealthComponentBase.generated.h"
19UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent) )
20class HEALTH_API UHealthComponentBase :
public UActorComponent
25 UHealthComponentBase();
28 UPROPERTY(BlueprintAssignable, Category = "
Health")
29 FOnHealthChanged OnHealthChanged;
30 UPROPERTY(BlueprintAssignable, Category = "
Health")
31 FOnDeathEvent OnDeath;
33 UFUNCTION(BlueprintCallable, Category = "
Health")
34 FORCEINLINE
float GetHealth()
const {
return Health;}
35 UFUNCTION(BlueprintCallable, Category=
"Health")
36 FORCEINLINE
float GetMaxHealth()
const {
return MaxHealth;};
37 UFUNCTION(BlueprintCallable, Category =
"Health")
38 FORCEINLINE
bool GetIsDead()
const {
return bDead;}
41 UFUNCTION(BlueprintCallable, Category=
"Health")
42 void LoadHealthFromSave(const
float LoadedHealth);
43 virtual
bool LoadComponentData(const FString& SlotName);
44 virtual
bool SaveComponentData(const FString& SlotName);
46 UFUNCTION(BlueprintCallable, Category = "
Health")
47 void SetMaxHealth(const
float Value){ MaxHealth = Value;};
51 virtual void BeginPlay()
override;
53 virtual void Death(AActor* Causer, AController* DeathInstigator,
const UDamageType* DamageType);
56 virtual
void TakeDamage(AActor* DamagedActor,
float Damage, const UDamageType* DamageType, AController* InstigatedBy, AActor* DamageCauser);
60 virtual
void OnDeathReplicated();
63 UPROPERTY(ReplicatedUsing=OnRep_Health, EditAnywhere, BlueprintReadWrite, Category = "
Health|
General")
64 float MaxHealth = 100.0f;
66 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
Health|Debugging")
67 bool bDebuggingMode = false;
68 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "
Health|Debugging", meta=(EditCondition="bDebuggingMode"))
69 bool bInfiniteHealth = false;
73 virtual
void HealthDamage(const
float Damage);
75 UPROPERTY(ReplicatedUsing=OnRep_Health)
77 UPROPERTY(ReplicatedUsing=OnDeathReplicated)
80 FTimerHandle HealthTimerHandle;
EDeathType
Definition BaseData.h:53
UCLASS(Blueprintable, BlueprintType, ClassGroup=(BucciGames), meta=(BlueprintSpawnableComponent)) class CHATSYSTEM_API UChatSystemComponent
Definition ChatSystemComponent.h:13
DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FOnDeathEvent, AActor *, OwningActor, EDeathType, DeathType, AActor *, DeathCauser, AController *, DeathInstigator)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FOnHealthChanged, float, Health, float, MaxHealth, const class UDamageType *, DamageType)
Definition Health.Build.cs:6