45 lines
1.2 KiB
C++
45 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "GameFramework/HUD.h"
|
|
#include "SpaceShooterHUD.generated.h"
|
|
|
|
UCLASS()
|
|
class MYPROJECT3_API ASpaceShooterHUD : public AHUD
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
ASpaceShooterHUD();
|
|
virtual void DrawHUD() override;
|
|
|
|
protected:
|
|
UPROPERTY()
|
|
UFont* TextFont;
|
|
|
|
// Bar configuration
|
|
UPROPERTY(EditAnywhere, Category = "HUD|Bars")
|
|
float BarWidth = 200.0f;
|
|
|
|
UPROPERTY(EditAnywhere, Category = "HUD|Bars")
|
|
float BarHeight = 20.0f;
|
|
|
|
UPROPERTY(EditAnywhere, Category = "HUD|Bars")
|
|
float BarPadding = 10.0f;
|
|
|
|
UPROPERTY(EditAnywhere, Category = "HUD|Bars")
|
|
FLinearColor HealthBarColor = FLinearColor(1.0f, 0.0f, 0.0f, 1.0f); // Red
|
|
|
|
UPROPERTY(EditAnywhere, Category = "HUD|Bars")
|
|
FLinearColor ShieldBarColor = FLinearColor(0.0f, 0.5f, 1.0f, 1.0f); // Light Blue
|
|
|
|
UPROPERTY(EditAnywhere, Category = "HUD|Bars")
|
|
FLinearColor BackgroundBarColor = FLinearColor(0.0f, 0.0f, 0.0f, 0.5f); // Semi-transparent black
|
|
|
|
private:
|
|
void DrawGameplayHUD();
|
|
void DrawGameOverScreen();
|
|
void DrawStatusBars();
|
|
class ASpaceShooterGameMode* GetGameMode() const;
|
|
class ASpaceshipPawn* GetPlayerPawn() const;
|
|
}; |