68 lines
2.2 KiB
C++
Executable file
68 lines
2.2 KiB
C++
Executable file
#pragma once
|
|
#include "CoreMinimal.h"
|
|
#include "GameFramework/HUD.h"
|
|
#include "EHUDVisibilityReason.h"
|
|
#include "FSDHUD.generated.h"
|
|
|
|
class AFSDHUD;
|
|
class APlayerCameraDrone;
|
|
class APlayerCharacter;
|
|
class APlayerController;
|
|
class URadarPointComponent;
|
|
|
|
UCLASS(Blueprintable, NonTransient)
|
|
class AFSDHUD : public AHUD {
|
|
GENERATED_BODY()
|
|
public:
|
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FSetObjectivesVisible, bool, InVisible, bool, animate);
|
|
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FHudVisibilityChanged, bool, InHudVisible);
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintCallable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FSetObjectivesVisible SetObjectivesVisible;
|
|
|
|
UPROPERTY(BlueprintAssignable, BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
|
|
FHudVisibilityChanged OnHUDVisibilityChanged;
|
|
|
|
protected:
|
|
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
|
|
uint8 IsVisibleFlags;
|
|
|
|
public:
|
|
AFSDHUD();
|
|
UFUNCTION(BlueprintCallable)
|
|
bool ToggleHUDVisibility(EHUDVisibilityReason reason);
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
|
|
void ShowObjectives(bool InVisibility);
|
|
|
|
UFUNCTION(BlueprintCallable)
|
|
void SetHUDVisible(bool IsVisible, EHUDVisibilityReason reason);
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
|
|
void RadarPointAdded(URadarPointComponent* radarPoint);
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
|
|
void PlayerSpawned(APlayerCharacter* Player);
|
|
|
|
protected:
|
|
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
|
|
void OnVisibilityChanged();
|
|
|
|
public:
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
bool IsHUDVisibleFlagSet(EHUDVisibilityReason reason) const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
|
|
void HandleSeamlessTravel();
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
bool GetHUDVisible() const;
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintPure)
|
|
static AFSDHUD* GetFSDHUD(APlayerController* InPlayerController);
|
|
|
|
UFUNCTION(BlueprintCallable, BlueprintImplementableEvent)
|
|
void CameraDroneSpawned(APlayerCameraDrone* Drone);
|
|
|
|
};
|
|
|