30 lines
851 B
C++
30 lines
851 B
C++
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Components/ActorComponent.h"
|
|
#include "BPC_HealthSystem.generated.h"
|
|
|
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FOnHealthChanged, float, CurrentHealth, float, MaxHealth);
|
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FOnDeath);
|
|
|
|
UCLASS(Blueprintable, ClassGroup=(Framework), meta=(BlueprintSpawnableComponent))
|
|
class PG_FRAMEWORK_API UBPC_HealthSystem : public UActorComponent
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
UBPC_HealthSystem();
|
|
|
|
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Framework|Health")
|
|
float MaxHealth = 100.0f;
|
|
|
|
UPROPERTY(BlueprintReadOnly, Category = "Framework|Health")
|
|
float CurrentHealth = 100.0f;
|
|
|
|
UPROPERTY(BlueprintAssignable, Category = "Framework|Events")
|
|
FOnHealthChanged OnHealthChanged;
|
|
|
|
UPROPERTY(BlueprintAssignable, Category = "Framework|Events")
|
|
FOnDeath OnDeath;
|
|
};
|