69 lines
2.3 KiB
C++
Executable file
69 lines
2.3 KiB
C++
Executable file
#pragma once
|
|
#include "CoreMinimal.h"
|
|
#include "UObject/NoExportTypes.h"
|
|
#include "EHealthbarType.h"
|
|
#include "FSDUserWidget.h"
|
|
#include "HUDHealthBarSignatureDelegate.h"
|
|
#include "HealthBarLooks.h"
|
|
#include "HUDHealthBar.generated.h"
|
|
|
|
class IHealth;
|
|
class UHealth;
|
|
|
|
UCLASS(Abstract, Blueprintable, EditInlineNew)
|
|
class UHUDHealthBar : public UFSDUserWidget {
|
|
GENERATED_BODY()
|
|
public:
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FHUDHealthBarSignature OnOwnerDead;
|
|
|
|
protected:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FLinearColor BackgroundColor;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FLinearColor HealthColor;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FLinearColor DamageColor;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
TMap<EHealthbarType, FHealthBarLooks> HealthBarLooks;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FLinearColor OutlineColor;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
int32 OutlineThickness;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
float HealthAnimationFactor;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
float HealthPerCell;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
int32 MinHealthCells;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
int32 MaxHealthCells;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
TScriptInterface<IHealth> TargetHealth;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
float AnimatedHealth;
|
|
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
float MaxHealth;
|
|
|
|
public:
|
|
UHUDHealthBar();
|
|
UFUNCTION(BlueprintCallable)
|
|
void SetHealthComponent(const TScriptInterface<IHealth>& Health, float Damage);
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
float GetCurrentHealth() const;
|
|
|
|
};
|
|
|