haxis/Source/UnrealProject/GUI/HUD/HealthBar.h

54 lines
1.1 KiB
C++

// Project Lab - NHTV Igad
#pragma once
#include "Blueprint/UserWidget.h"
#include "HealthBar.generated.h"
UENUM()
enum class EMinimapIcon : uint8
{
None = 0,
Crown,
MiniBoss,
Dot,
Camp,
Player
};
UCLASS()
class UNREALPROJECT_API UHealthBar : public UUserWidget
{
GENERATED_BODY()
public:
UHealthBar(const FObjectInitializer& init);
virtual void NativeConstruct() override;
virtual void NativeDestruct() override;
// Icon ID's
// 0 = nothing
// 1 = Crown
// 2 = Mini-Boss
// 3 = Dot
// 4 = Camp
// 5 = PlayerIcon
void SetIcon(EMinimapIcon iconID);
void SetStyle(int32 style);
void UpdateHealth(int32 curr, int32 max);
void UpdateMana(int32 curr, int32 max, float blocked = 0.0f);
void UpdateAlignment(bool friendly);
void SetName(FString name);
private:
int32 m_style;
bool m_friendly;
class UWidgetSwitcher* m_styleSwitcher;
class UStatBar* m_HP;
class UStatBar* m_mana;
class UStatBar* m_HP1;
UTextBlock* m_name;
UImage* m_icon;
EMinimapIcon m_currentIcon;
int32 m_updateCount = 0;
};