Space Plunder
Loading...
Searching...
No Matches
ACustomHUD Class Reference

#include <CustomHUD.h>

Inheritance diagram for ACustomHUD:
AHUDBase IMultiplayerGM IInteractionHUD IStaminaHUD ICompanionHUD IHUDInterface

Public Member Functions

 ACustomHUD ()
 
void FadeIn ()
 
void SelectionUp () const
 
void SelectionDown () const
 
void FocusOnGame () const
 
void FocusOnWidget () const
 
void SetMultiplayerHUD (const bool bMultiplayerHUD=true)
 
void ToggleGameMenuWidget (class UUserWidget *TargetWidget)
 
void StartOpenQuestMenu () const
 
void StopOpenQuestMenu () const
 
virtual void ToggleGameLog () override
 
void OpenScoreboard (const bool bOpen=true) const
 
class UChatBoxWidgetGetChatBoxWidget () const
 
class UButtonPromptWidgetGetQuestMenuButton () const
 
virtual void StartFocusOnObject (const FString &ObjectName, const FInteractionData &InteractionData) override
 
virtual void StartFocusOnCharacter (const FString &CharacterName, const FInteractionData &InteractionData) override
 
virtual void ShowCustomPrompt (const FInteractionData &InteractionData) override
 
virtual void HideCustomPrompt () override
 
virtual void SetSelectedInteraction (const int32 SelectedIndex) override
 
virtual void StartSelection (const float Time) override
 
virtual void StopSelection () override
 
virtual void EndFocus () override
 
virtual void SetCompanionInteractions (const FInteractionData &CompanionData, const FString &Object) override
 
virtual void ToggleCompanionInteractions (const bool bShow=true) override
 
virtual void SetSelectedCompanionInteraction (const int32 SelectedIndex) override
 
virtual void UpdateStamina (const float CurrentStamina, const float MaxStamina) override
 
virtual void DamageIndicator (const FVector &HitLocation, const float Damage, const UDamageType *DamageType) override
 
virtual void StealthIndicator (AActor *ThreatActor, const float Amount=0.0f) override
 
virtual void OwnerDeath (const struct FPlayerDeath &PlayerDeathData) override
 
virtual void UpdateThreatIndication (const FVector &Location, const float DetectionAmount)
 
virtual void PlayerDeath (FPlayerDeath &PlayerDeath) override
 
virtual void AIDeath (FPlayerDeath &PlayerDeath) override
 
void MatchOver (const FMatchState &MatchState, const TArray< FTeamScoreData > &Scores) const
 
void RoundOver (const FMatchState &MatchState, const TArray< FTeamScoreData > &Scores) const
 
void SetMultiplayerMatchState (const FMatchState &State) const
 
virtual void SetScore (const TArray< FTeamScoreData > &Scores, const int32 ScoreGoal)
 
virtual void SetMultiplayerMode (const EMultiplayerMode Mode)
 
virtual void SetRound (const int32 Num)
 
void SetPlayerTeamID (const int32 TeamID)
 
virtual void SetAiming (const bool bIsAiming)
 
void SetupWidgets ()
 
- Public Member Functions inherited from AHUDBase
 AHUDBase ()
 
virtual bool RegisterLayer (const FGameplayTag &LayerName, UUserWidget *LayerWidget) override
 
virtual UUserWidget * PushContentToLayer (const FGameplayTag &LayerName, const TSoftClassPtr< UUserWidget > &WidgetClass) override
 
virtual UUserWidget * GetContentFromLayer (const FGameplayTag &LayerName, const TSoftClassPtr< UUserWidget > &WidgetClass) override
 
virtual bool PopContentFromLayer (const FGameplayTag &LayerName) override
 
virtual bool ClearLayer (const FGameplayTag &LayerName) override
 
virtual bool ToggleWidget (const FGameplayTag &LayerName, UUserWidget *Widget) override
 
virtual UUserWidget * AddWidgetToLayer (const FGameplayTag &LayerName, const TSoftClassPtr< UUserWidget > &WidgetClass) override
 
virtual UUserWidget * AddWidgetToLayerWithSlot (const FGameplayTag &LayerName, const FGameplayTag &SlotTag, const TSoftClassPtr< UUserWidget > &WidgetClass) override
 
virtual void HUDSelectionVertical (const bool bMoveUp=true) override
 
virtual void HUDSelectionHorizontal (const bool bMoveRight=true) override
 
virtual void HUDConfirm () override
 
virtual void HUDCancel () override
 
virtual bool RegisterNotificationManager (const FGameplayTag Type, UUserWidget *ManagerWidget) override
 
virtual bool AddNotificationToQueue (const FGameplayTag Type, const FNotificationData &Data) override
 
virtual void OpenRadialMenu (const FRadialMenuData &Data) override
 
virtual int32 CloseRadialMenu () override
 
virtual bool GetIsRadialMenuOpen () const override
 
- Public Member Functions inherited from IMultiplayerGM
virtual FMatchState GetMultiplayerMatchState () const
 

Public Attributes

bool bChatWidget = true
 
bool bHealthWidget = true
 
bool bInteractionCrosshairWidget = true
 
bool bInteractionContextWidget = true
 
bool bWeaponBarWidget = true
 
bool bCrosshairWidget = true
 
bool bQuestMenuButtonWidget = true
 
bool bQuestSystemWidget = true
 
bool bQuestLogWidget = true
 
bool bQuestNotificationManagerWidget = true
 
bool bQuestTrackerWidget = true
 
bool bScoreWidget = true
 
bool bKillFeedWidget = true
 
bool bScoreboardWidget = true
 
bool bMatchOverWidget = true
 
bool bStaminaWidget = true
 
bool bDamageIndicator = true
 
bool bStealthIndicator = true
 
bool bGameLogWidget = true
 
float OpenQuestMenuTime = 1.0f
 
- Public Attributes inherited from AHUDBase
UUserWidget * RadialMenuWidget = nullptr
 

Protected Member Functions

virtual void BeginDestroy () override
 
void SetupLayoutWidget ()
 
void AddGameWidgetsToViewport ()
 
void SetupGameLogWidget ()
 
void SetupQuestMenuButton ()
 
void SetupInteractionCrosshairWidget ()
 
void SetupInteractionContextWidget ()
 
void SetupStaminaWidget ()
 
void SetupKillFeedWidget ()
 
void SetupScoreWidget ()
 
void SetupScoreboardWidget ()
 
void SetupMatchOverWidget ()
 
void SetupChatBoxWidget ()
 
- Protected Member Functions inherited from AHUDBase
virtual void BeginPlay () override
 
void OnOpenRadialMenu (const FRadialMenuData &Data)
 
void OnCloseRadialMenu ()
 

Protected Attributes

class UHUDLayoutWidgetHUDLayoutWidget = nullptr
 
class UButtonPromptWidgetOpenQuestMenuButtonWidget = nullptr
 
class UInteractionCrosshairWidgetInteractionCrosshairWidget = nullptr
 
class UInteractionContextWidgetInteractionContextWidget = nullptr
 
class UWeaponSystemWidgetWeaponWidget = nullptr
 
class UCrosshairWidgetCrosshairWidget = nullptr
 
class UStaminaWidgetStaminaWidget = nullptr
 
class UGameLogWidgetGameLogWidget = nullptr
 
class UScoreWidgetScoreWidget = nullptr
 
class UScoreboardWidgetScoreboardWidget = nullptr
 
class UKillFeedWidgetKillFeedWidget = nullptr
 
class UChatBoxWidgetChatBoxWidget = nullptr
 
class UMatchFinishedWidgetMatchFinishedWidget = nullptr
 
int32 MultiplayerTeamID = 0
 
bool bMultiplayer = false
 
UUserWidget * WidgetToFocus = nullptr
 
TArray< UUserWidget * > GameMenuWidgetList
 
TArray< UUserWidget * > GameWidgetList
 
TSubclassOf< class UUserWidget > GameLogWidgetClass
 
TSubclassOf< class UButtonPromptWidgetOpenQuestMenuButtonWidgetClass
 
TSubclassOf< class UQuestNotificationManagerQuestNotificationManagerWidgetClass
 
TSubclassOf< class UWeaponSystemWidgetWeaponWidgetClass
 
TSubclassOf< class UCrosshairWidgetCrosshairWidgetClass
 
TSubclassOf< class UStaminaWidgetStaminaWidgetClass
 
TSubclassOf< class UIncomingThreatWidgetDamageIndicatorWidgetClass
 
TSubclassOf< class UIncomingThreatWidgetStealthIndicatorWidgetClass
 
TSubclassOf< class UInteractionCrosshairWidgetInteractionCrosshairWidgetClass
 
TSubclassOf< class UInteractionContextWidgetInteractionContextWidgetClass
 
TSubclassOf< class UChatBoxWidgetChatWidgetClass
 
TSubclassOf< class UScoreWidgetMultiplayerScoreWidgetClass
 
TSubclassOf< class UScoreboardWidgetMultiplayerScoreboardWidgetClass
 
TSubclassOf< class UKillFeedWidgetKillFeedWidgetClass
 
TSubclassOf< class UMatchFinishedWidgetMatchFinishedClass
 
TSubclassOf< class UHUDLayoutWidgetHUDLayoutWidgetClass
 
- Protected Attributes inherited from AHUDBase
class UPrimaryLayoutWidgetPrimaryLayoutWidget = nullptr
 
TMap< FGameplayTag, TSoftClassPtr< UUserWidget > > InitialScreens
 
TMap< FGameplayTag, TSoftClassPtr< UUserWidget > > InitialNotificationManagers
 
bool bDebuggingMode = false
 

Private Member Functions

void ToggleQuestLogBind ()
 
void ToggleQuestTrackerBind ()
 

Private Attributes

bool bChatBoxOpen = false
 
bool bCommandingMode = false
 

Constructor & Destructor Documentation

◆ ACustomHUD()

ACustomHUD::ACustomHUD ( )
41{
42 HUDLayoutWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/CustomALS/Widgets/WBP_HUDLayout");
43
44 //- Quest Widgets //
45 // OpenQuestMenuButtonWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/QuestSystem/Widgets/WBP_OpenLogButton");
46 // QuestLogWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/QuestSystem/Widgets/WBP_QuestSystemLog");
47 // QuestTrackerWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/QuestSystem/Widgets/WBP_QuestTracker");
48 // QuestNotificationManagerWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/QuestSystem/Widgets/WBP_QuestNotificationManager");
49
50 //- Weapon Widgets //
51 // WeaponWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/WeaponSystem/Widgets/WBP_WeaponBar");
52 // CrosshairWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/WeaponSystem/Widgets/CrosshairWidget_WBP");
53 StaminaWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/CustomALS/Widgets/WBP_Stamina");
54
55 //- Multiplayer
56 MultiplayerScoreboardWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/MenuSystem/Widgets/Multiplayer/Scoreboard/WBP_Scoreboard");
57 MultiplayerScoreWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/MenuSystem/Widgets/Multiplayer/Scoreboard/WBP_Score");
58 KillFeedWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/MenuSystem/Widgets/Multiplayer/KillFeed/WBP_KillFeed");
59 MatchFinishedClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/MenuSystem/Widgets/Multiplayer/WBP_MatchFinished");
60 ChatWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/ChatSystem/Widgets/WBP_ChatBox");
61 InteractionCrosshairWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/Interaction/Widgets/WBP_InteractionCrosshair");
62
63 DamageIndicatorWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/CustomALS/Widgets/WBP_HitIndicator");
64 StealthIndicatorWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/CustomALS/Widgets/WBP_StealthIndicator");
65 InteractionContextWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/Interaction/Widgets/WBP_InteractionContext");
66
67 GameLogWidgetClass = UBaseHelpersBPLib::GetDefaultWidgetBPClass("/CustomALS/Widgets/WBP_GameLog");
68
69}
TSubclassOf< class UStaminaWidget > StaminaWidgetClass
Definition CustomHUD.h:320
TSubclassOf< class UKillFeedWidget > KillFeedWidgetClass
Definition CustomHUD.h:344
TSubclassOf< class UInteractionCrosshairWidget > InteractionCrosshairWidgetClass
Definition CustomHUD.h:327
TSubclassOf< class UScoreboardWidget > MultiplayerScoreboardWidgetClass
Definition CustomHUD.h:341
TSubclassOf< class UHUDLayoutWidget > HUDLayoutWidgetClass
Definition CustomHUD.h:349
TSubclassOf< class UChatBoxWidget > ChatWidgetClass
Definition CustomHUD.h:334
TSubclassOf< class UUserWidget > GameLogWidgetClass
Definition CustomHUD.h:294
TSubclassOf< class UScoreWidget > MultiplayerScoreWidgetClass
Definition CustomHUD.h:339
TSubclassOf< class UInteractionContextWidget > InteractionContextWidgetClass
Definition CustomHUD.h:329
TSubclassOf< class UMatchFinishedWidget > MatchFinishedClass
Definition CustomHUD.h:346
TSubclassOf< class UIncomingThreatWidget > DamageIndicatorWidgetClass
Definition CustomHUD.h:322
TSubclassOf< class UIncomingThreatWidget > StealthIndicatorWidgetClass
Definition CustomHUD.h:324
static TSubclassOf< UUserWidget > GetDefaultWidgetBPClass(const FString &Location)
Definition BaseHelpersBPLib.cpp:227

Member Function Documentation

◆ AddGameWidgetsToViewport()

void ACustomHUD::AddGameWidgetsToViewport ( )
protected
515{
516 if(GameWidgetList.Num() == 0 || HUDLayoutWidget == nullptr){return;}
517 for(UUserWidget* GameWidget : GameWidgetList)
518 {
519 if(GameWidget != nullptr)
520 {
521 GameWidget->AddToViewport();
522 }
523 }
524}
class UHUDLayoutWidget * HUDLayoutWidget
Definition CustomHUD.h:173
TArray< UUserWidget * > GameWidgetList
Definition CustomHUD.h:286

◆ AIDeath()

void ACustomHUD::AIDeath ( FPlayerDeath & PlayerDeath)
overridevirtual

Implements IMultiplayerGM.

358{
359 if(KillFeedWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("KillFeedWidget missing when trying to AIDeath"));return;}
361}
class UKillFeedWidget * KillFeedWidget
Definition CustomHUD.h:216
virtual void PlayerDeath(FPlayerDeath &PlayerDeath) override
Definition CustomHUD.cpp:351
void AddKill(const FPlayerDeath &PlayerDeath)
Definition KillFeedWidget.cpp:26

◆ BeginDestroy()

void ACustomHUD::BeginDestroy ( )
overrideprotectedvirtual
478{
479 for(UUserWidget* GameWidget : GameWidgetList)
480 {
481 if(GameWidget != nullptr)
482 {
483 GameWidget->RemoveFromParent();
484 }
485 }
486 if(OpenQuestMenuButtonWidget != nullptr)
487 {
488 OpenQuestMenuButtonWidget->RemoveFromParent();
489 }
490 if(HUDLayoutWidget != nullptr && HUDLayoutWidget->DamageIndicatorOverlay != nullptr)
491 {
492 HUDLayoutWidget->DamageIndicatorOverlay->ClearChildren();
493 }
494 GameWidgetList.Empty();
495 HUDLayoutWidget = nullptr;
497 WeaponWidget = nullptr;
498 // CrosshairWidget = nullptr;
499 // HealthHUDWidget = nullptr;
500 WidgetToFocus = nullptr;
501 Super::BeginDestroy();
502}
class UWeaponSystemWidget * WeaponWidget
Definition CustomHUD.h:195
class UButtonPromptWidget * OpenQuestMenuButtonWidget
Definition CustomHUD.h:177
UUserWidget * WidgetToFocus
Definition CustomHUD.h:279
class UOverlay * DamageIndicatorOverlay
Definition HUDLayoutWidget.h:46

◆ DamageIndicator()

void ACustomHUD::DamageIndicator ( const FVector & HitLocation,
const float Damage,
const UDamageType * DamageType )
overridevirtual

Implements IStaminaHUD.

311{
312 if(!bDamageIndicator){return;}
313 if(DamageIndicatorWidgetClass == nullptr){UE_LOG(LogCustomALS,Error,TEXT("DamageIndicatorWidgetClass Class Missing in HUD"));return;};
314 UIncomingThreatWidget* DamageIndicatorWidget = CreateWidget<UIncomingThreatWidget>(GetOwningPlayerController(), DamageIndicatorWidgetClass);
315 if(DamageIndicatorWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("DamageIndicatorWidget Creation Failed")); return;}
316 if(HUDLayoutWidget != nullptr)
317 {
318 DamageIndicatorWidget->StartThreatIndicationFromLocation(HitLocation, Damage, DamageType);
319 HUDLayoutWidget->DamageIndicatorOverlay->AddChildToOverlay(DamageIndicatorWidget);
320 }
321}
bool bDamageIndicator
Definition CustomHUD.h:160
Base class for Damage Indicator & AI Threat Detector.
Definition IncomingThreatWidget.h:17
void StartThreatIndicationFromLocation(const FVector &Location, const float Amount=-1.0f, const UDamageType *DamageType=nullptr)
Definition IncomingThreatWidget.cpp:97

◆ EndFocus()

void ACustomHUD::EndFocus ( )
overridevirtual

Implements IInteractionHUD.

144{
145 // if(InteractionCrosshairWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Interaction CrosshairWidget missing when trying to EndFocus"));return;}
146 // InteractionCrosshairWidget->EndFocus();
147 // if(bCommandingMode){return;}
148 // if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("InteractionContextWidget missing when trying to EndFocus"));return;}
149 // InteractionContextWidget->EndFocus();
150}

◆ FadeIn()

void ACustomHUD::FadeIn ( )
72{
73 if(HUDLayoutWidget == nullptr){if(bDebuggingMode){UE_LOG(LogCustomALS,Warning,TEXT("HUDLayout Widget Null in Fade IN"));}return;}
75}
bool bDebuggingMode
Definition HUDBase.h:80
void FadeIn()
Definition HUDLayoutWidget.cpp:7

◆ FocusOnGame()

void ACustomHUD::FocusOnGame ( ) const
719{
720 if(WidgetToFocus != nullptr)
721 {
722 WidgetToFocus->SetVisibility(ESlateVisibility::Collapsed);
723 const FInputModeGameOnly InputMode;
724 GetOwningPlayerController()->SetInputMode(InputMode);
725 GetOwningPlayerController()->SetShowMouseCursor(false);
726 }
727}

◆ FocusOnWidget()

void ACustomHUD::FocusOnWidget ( ) const
730{
731 if(WidgetToFocus != nullptr)
732 {
733 WidgetToFocus->SetVisibility(ESlateVisibility::Visible);
734 //@ TODO Check Input mode
735 FInputModeGameAndUI InputMode;
736 InputMode.SetWidgetToFocus(WidgetToFocus->TakeWidget());
737 GetOwningPlayerController()->SetInputMode(InputMode);
738 GetOwningPlayerController()->SetShowMouseCursor(true);
739 }
740}

◆ GetChatBoxWidget()

class UChatBoxWidget * ACustomHUD::GetChatBoxWidget ( ) const
inline
56{return ChatBoxWidget;};
class UChatBoxWidget * ChatBoxWidget
Definition CustomHUD.h:219

◆ GetQuestMenuButton()

class UButtonPromptWidget * ACustomHUD::GetQuestMenuButton ( ) const
inline

◆ HideCustomPrompt()

void ACustomHUD::HideCustomPrompt ( )
overridevirtual

Implements IInteractionHUD.

120{
121 // if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("InteractionContextWidget missing when trying to StartFocusOnCharacter"));return;}
122 // InteractionContextWidget->HideCustomPrompt();
123}

◆ MatchOver()

void ACustomHUD::MatchOver ( const FMatchState & MatchState,
const TArray< FTeamScoreData > & Scores ) const
364{
365 if(MatchFinishedWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Scores missing when trying to MatchOver"));return;}
366 MatchFinishedWidget->SetVisibility(ESlateVisibility::Visible);
367 MatchFinishedWidget->MatchOver(MatchState, Scores);
368}
class UMatchFinishedWidget * MatchFinishedWidget
Definition CustomHUD.h:221
void MatchOver(FMatchState MatchState, const TArray< FTeamScoreData > &Scores)
Definition MatchFinishedWidget.cpp:16

◆ OpenScoreboard()

void ACustomHUD::OpenScoreboard ( const bool bOpen = true) const
796{
797 if(ScoreboardWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Scoreboard NULL"));return;}
798 if(bOpen)
799 {
800 ScoreboardWidget->SetVisibility(ESlateVisibility::Visible);
801 }
802 else
803 {
804 ScoreboardWidget->SetVisibility(ESlateVisibility::Collapsed);
805 }
806}
class UScoreboardWidget * ScoreboardWidget
Definition CustomHUD.h:213

◆ OwnerDeath()

void ACustomHUD::OwnerDeath ( const struct FPlayerDeath & PlayerDeathData)
overridevirtual

Implements IStaminaHUD.

337{
338 if(HUDLayoutWidget != nullptr && HUDLayoutWidget->DamageIndicatorOverlay != nullptr)
339 {
340 HUDLayoutWidget->DamageIndicatorOverlay->ClearChildren();
341 }
342 //@TODO Show Game Over Screen //
343
344}

◆ PlayerDeath()

void ACustomHUD::PlayerDeath ( FPlayerDeath & PlayerDeath)
overridevirtual

Implements IMultiplayerGM.

352{
353 if(KillFeedWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("KillFeedWidget missing when trying to Player Death"));return;}
355}

◆ RoundOver()

void ACustomHUD::RoundOver ( const FMatchState & MatchState,
const TArray< FTeamScoreData > & Scores ) const
371{
372 if(!bScoreWidget){return;}
373 if(ScoreWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Scores missing when trying to RoundOver"));return;}
375}
bool bScoreWidget
Definition CustomHUD.h:150
class UScoreWidget * ScoreWidget
Definition CustomHUD.h:211
void OnRoundChanged()

◆ SelectionDown()

void ACustomHUD::SelectionDown ( ) const
84{
85 // if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("InteractionContextWidget missing when trying to StartFocusOnCharacter"));return;}
86 // InteractionContextWidget->SelectionDown();
87}

◆ SelectionUp()

void ACustomHUD::SelectionUp ( ) const
78{
79 // if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("InteractionContextWidget missing when trying to StartFocusOnCharacter"));return;}
80 // InteractionContextWidget->SelectionUp();
81}

◆ SetAiming()

void ACustomHUD::SetAiming ( const bool bIsAiming)
virtual

Implements IInteractionHUD.

407{
408 if(bIsAiming)
409 {
410 if(InteractionCrosshairWidget != nullptr)
411 {
413 }
414 if(InteractionContextWidget != nullptr)
415 {
417 }
418
419 }
420 else
421 {
422 if(InteractionCrosshairWidget != nullptr)
423 {
425 }
426 if(InteractionContextWidget != nullptr)
427 {
429 }
430 }
431}
class UInteractionContextWidget * InteractionContextWidget
Definition CustomHUD.h:191
class UInteractionCrosshairWidget * InteractionCrosshairWidget
Definition CustomHUD.h:189

◆ SetCompanionInteractions()

void ACustomHUD::SetCompanionInteractions ( const FInteractionData & CompanionData,
const FString & Object )
overridevirtual

Implements ICompanionHUD.

153{
154 // if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("InteractionContextWidget missing when trying to SetSelectedInteraction"));return;}
155 // InteractionContextWidget->StartFocusOnObject(Object, CompanionData);
156}

◆ SetMultiplayerHUD()

void ACustomHUD::SetMultiplayerHUD ( const bool bMultiplayerHUD = true)
inline
45{bMultiplayer = bMultiplayerHUD;};
bool bMultiplayer
Definition CustomHUD.h:226

◆ SetMultiplayerMatchState()

void ACustomHUD::SetMultiplayerMatchState ( const FMatchState & State) const
378{
379 if(!bScoreWidget){return;}
380 if(ScoreWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Scores missing when trying to SetMultiplayerMatchState"));return;}
382}
void SetMultiplayerMatchState(const FMatchState State)
Definition ScoreWidget.cpp:63

◆ SetMultiplayerMode()

void ACustomHUD::SetMultiplayerMode ( const EMultiplayerMode Mode)
virtual
393{
394 if(!bScoreWidget){return;}
395 if(ScoreWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Scores missing when trying to SetMultiplayerMode"));return;}
397}
void SetMultiplayerGameMode(const EMultiplayerMode Mode)
Definition ScoreWidget.cpp:52

◆ SetPlayerTeamID()

void ACustomHUD::SetPlayerTeamID ( const int32 TeamID)
inline
117{MultiplayerTeamID = TeamID;};
int32 MultiplayerTeamID
Definition CustomHUD.h:224

◆ SetRound()

void ACustomHUD::SetRound ( const int32 Num)
virtual
400{
401 if(!bScoreWidget){return;}
402 if(ScoreWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Scores missing when trying to SetRound"));return;}
403 ScoreWidget->SetRound(Num);
404}
void SetRound(const int32 Num) const
Definition ScoreWidget.cpp:58

◆ SetScore()

void ACustomHUD::SetScore ( const TArray< FTeamScoreData > & Scores,
const int32 ScoreGoal )
virtual
385{
386 if(!bScoreWidget){return;}
387 if(ScoreWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Scores missing when trying to Player Death"));return;}
388 ScoreWidget->SetScore(Scores);
389 ScoreWidget->SetScoreGoal(ScoreGoal);
390}
void SetScoreGoal(const int32 Goal) const
Definition ScoreWidget.cpp:81
void SetScore(const TArray< FTeamScoreData > &Scores)
Definition ScoreWidget.cpp:35

◆ SetSelectedCompanionInteraction()

void ACustomHUD::SetSelectedCompanionInteraction ( const int32 SelectedIndex)
overridevirtual

Implements ICompanionHUD.

167{
168 SetSelectedInteraction(SelectedIndex);
169}
virtual void SetSelectedInteraction(const int32 SelectedIndex) override
Definition CustomHUD.cpp:125

◆ SetSelectedInteraction()

void ACustomHUD::SetSelectedInteraction ( const int32 SelectedIndex)
overridevirtual

Implements IInteractionHUD.

126{
127 // if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("InteractionContextWidget missing when trying to SetSelectedInteraction"));return;}
128 // InteractionContextWidget->SetSelectedInteraction(SelectedIndex);
129}

◆ SetupChatBoxWidget()

void ACustomHUD::SetupChatBoxWidget ( )
protected
648{
649 if(ChatBoxWidget != nullptr){UE_LOG(LogCustomALS,Warning,TEXT("ChatBoxWidget Already Created in HUD"));return;}
650
651 if(ChatWidgetClass == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("ChatWidgetClass Missing in CUSTOM HUD"));return;}
652 ChatBoxWidget = CreateWidget<UChatBoxWidget>(GetOwningPlayerController(), ChatWidgetClass);
653 if(ChatBoxWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("ChatBoxWidget Creation Failed")); return;}
654 // ChatBoxWidget->OnChatToggled.AddUniqueDynamic(this, &ACustomHUD::ToggleChatBox);
656 if(HUDLayoutWidget != nullptr)
657 {
659 }
660}
class UOverlay * ChatWindowOverlay
Definition HUDLayoutWidget.h:56

◆ SetupGameLogWidget()

void ACustomHUD::SetupGameLogWidget ( )
protected
527{
528 if(PrimaryLayoutWidget != nullptr)
529 {
530 if(GameLogWidgetClass == nullptr){UE_LOG(LogCustomALS,Error,TEXT("GameLogWidgetClass Missing ACustomHUD::SetupGameLogWidget"));return;};
531 GameLogWidget = CreateWidget<UGameLogWidget>(GetOwningPlayerController(), GameLogWidgetClass);
532 if(GameLogWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("GameLogWidgetClass Creation Failed ACustomHUD::SetupGameLogWidget")); return;}
533 GameLogWidget->SetVisibility(ESlateVisibility::Collapsed);
534 UOverlaySlot* GameLogSlot = PrimaryLayoutWidget->RootOverlay->AddChildToOverlay(GameLogWidget);
535 if(GameLogSlot != nullptr)
536 {
537 GameLogSlot->SetHorizontalAlignment(HAlign_Center);
538 GameLogSlot->SetVerticalAlignment(VAlign_Center);
539 }
540 RegisterLayer(HUDLayerTags::GameLog, GameLogWidget);
541 }
542}
class UGameLogWidget * GameLogWidget
Definition CustomHUD.h:207
virtual bool RegisterLayer(const FGameplayTag &LayerName, UUserWidget *LayerWidget) override
Definition HUDBase.cpp:59
class UPrimaryLayoutWidget * PrimaryLayoutWidget
Definition HUDBase.h:71
class UOverlay * RootOverlay
Definition PrimaryLayoutWidget.h:23

◆ SetupInteractionContextWidget()

void ACustomHUD::SetupInteractionContextWidget ( )
protected
558{
559 if(InteractionContextWidget != nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Interaction Crosshair Already Created in HUD"));return;}
560 if(InteractionContextWidgetClass == nullptr){UE_LOG(LogCustomALS,Error,TEXT("Interaction Class Missing in HUD"));return;};
561 InteractionContextWidget = CreateWidget<UInteractionContextWidget>(GetOwningPlayerController(), InteractionContextWidgetClass);
562 if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("Interaction Widget Creation Failed")); return;}
564 if(HUDLayoutWidget != nullptr)
565 {
567 }
568
569}
class UOverlay * InteractionContextOverlay
Definition HUDLayoutWidget.h:49

◆ SetupInteractionCrosshairWidget()

void ACustomHUD::SetupInteractionCrosshairWidget ( )
protected
545{
546 if(InteractionCrosshairWidget != nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Interaction Crosshair Already Created in HUD"));return;}
547 if(InteractionCrosshairWidgetClass == nullptr){UE_LOG(LogCustomALS,Error,TEXT("Interaction Class Missing in HUD"));return;};
548 InteractionCrosshairWidget = CreateWidget<UInteractionCrosshairWidget>(GetOwningPlayerController(), InteractionCrosshairWidgetClass);
549 if(InteractionCrosshairWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("Interaction Widget Creation Failed")); return;}
551 if(HUDLayoutWidget != nullptr)
552 {
554 }
555}
class UOverlay * CrosshairOverlay
Definition HUDLayoutWidget.h:40

◆ SetupKillFeedWidget()

void ACustomHUD::SetupKillFeedWidget ( )
protected
588{
589 if(KillFeedWidget != nullptr){UE_LOG(LogCustomALS,Warning,TEXT("KillFeedWidget Already Created in HUD"));return;}
590
591 if(KillFeedWidgetClass == nullptr){UE_LOG(LogCustomALS,Error,TEXT("Killfeed Class Missing in HUD"));return;};
592 KillFeedWidget = CreateWidget<UKillFeedWidget>(GetOwningPlayerController(), KillFeedWidgetClass);
593 if(KillFeedWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("KillFeedWidget Creation Failed")); return;}
595 if(HUDLayoutWidget != nullptr)
596 {
598 }
599}
class UOverlay * KillFeedOverlay
Definition HUDLayoutWidget.h:54

◆ SetupLayoutWidget()

void ACustomHUD::SetupLayoutWidget ( )
protected
505{
506 if(HUDLayoutWidget != nullptr){HUDLayoutWidget->DamageIndicatorOverlay->ClearChildren();UE_LOG(LogCustomALS,Warning,TEXT("HUDLayoutWidget Already Created in HUD"));return;}
507
508 if(HUDLayoutWidgetClass == nullptr){UE_LOG(LogCustomALS,Error,TEXT("Layout Widget Class Missing in HUD"));return;}
509 HUDLayoutWidget = CreateWidget<UHUDLayoutWidget>(GetOwningPlayerController(), HUDLayoutWidgetClass);
510 if(HUDLayoutWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("Layout Widget Creation Failed")); return;}
511 HUDLayoutWidget->AddToPlayerScreen();
512}

◆ SetupMatchOverWidget()

void ACustomHUD::SetupMatchOverWidget ( )
protected
632{
633 if(MatchFinishedWidget != nullptr){UE_LOG(LogCustomALS,Warning,TEXT("MatchFinishedWidget Already Created in HUD"));return;}
634
635 if(MultiplayerScoreboardWidgetClass == nullptr){UE_LOG(LogCustomALS,Error,TEXT("MatchFinishedWidget Class Missing in HUD"));return;};
636 MatchFinishedWidget = CreateWidget<UMatchFinishedWidget>(GetOwningPlayerController(), MatchFinishedClass);
637 if(MatchFinishedWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("MatchFinishedWidget Creation Failed")); return;}
639 if(HUDLayoutWidget != nullptr)
640 {
642 MatchFinishedWidget->SetVisibility(ESlateVisibility::Collapsed);
643 }
644
645}
TArray< UUserWidget * > GameMenuWidgetList
Definition CustomHUD.h:283
class UOverlay * ScoreboardOverlay
Definition HUDLayoutWidget.h:59

◆ SetupQuestMenuButton()

void ACustomHUD::SetupQuestMenuButton ( )
protected
663{
664 if(OpenQuestMenuButtonWidget != nullptr){UE_LOG(LogCustomALS,Warning,TEXT("OpenQuestMenuButtonWidget Already Created in HUD"));return;}
665
666 if(OpenQuestMenuButtonWidgetClass == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Quest Menu Button class Missing in CUSTOM HUD"));return;}
667 OpenQuestMenuButtonWidget = CreateWidget<UButtonPromptWidget>(GetOwningPlayerController(), OpenQuestMenuButtonWidgetClass);
668 if(OpenQuestMenuButtonWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("Quest Button Widget Creation Failed")); return;}
670 if(HUDLayoutWidget != nullptr)
671 {
673 }
674}
TSubclassOf< class UButtonPromptWidget > OpenQuestMenuButtonWidgetClass
Definition CustomHUD.h:298
class UOverlay * QuestButtonOverlay
Definition HUDLayoutWidget.h:24

◆ SetupScoreboardWidget()

void ACustomHUD::SetupScoreboardWidget ( )
protected
617{
618 if(ScoreboardWidget != nullptr){UE_LOG(LogCustomALS,Warning,TEXT("ScoreboardWidget Already Created in HUD"));return;}
619
620 if(MultiplayerScoreboardWidgetClass == nullptr){UE_LOG(LogCustomALS,Error,TEXT("MultiplayerScoreboardWidgetClass Class Missing in HUD"));return;};
621 ScoreboardWidget = CreateWidget<UScoreboardWidget>(GetOwningPlayerController(), MultiplayerScoreboardWidgetClass);
622 if(ScoreboardWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("UScoreWidget Creation Failed")); return;}
624 if(HUDLayoutWidget != nullptr)
625 {
627 ScoreboardWidget->SetVisibility(ESlateVisibility::Collapsed);
628 }
629}

◆ SetupScoreWidget()

void ACustomHUD::SetupScoreWidget ( )
protected
602{
603 if(ScoreWidget != nullptr){UE_LOG(LogCustomALS,Warning,TEXT("ScoreWidget Already Created in HUD"));return;}
604
605 if(MultiplayerScoreWidgetClass == nullptr){UE_LOG(LogCustomALS,Error,TEXT("ScoreWidget Class Missing in HUD"));return;};
606 ScoreWidget = CreateWidget<UScoreWidget>(GetOwningPlayerController(), MultiplayerScoreWidgetClass);
607 if(ScoreWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("UScoreWidget Creation Failed")); return;}
610 if(HUDLayoutWidget != nullptr)
611 {
612 HUDLayoutWidget->ScoreOverlay->AddChildToOverlay(ScoreWidget);
613 }
614}
class UOverlay * ScoreOverlay
Definition HUDLayoutWidget.h:52
void SetOwnerTeamID(const int32 TeamID)
Definition ScoreWidget.h:44

◆ SetupStaminaWidget()

void ACustomHUD::SetupStaminaWidget ( )
protected
573{
574 if(StaminaWidget != nullptr){UE_LOG(LogCustomALS,Warning,TEXT("StaminaWidget Already Created in HUD"));return;}
575
576 if(StaminaWidgetClass == nullptr){UE_LOG(LogCustomALS,Error,TEXT("StaminaWidget Class Missing in HUD"));return;};
577 StaminaWidget = CreateWidget<UStaminaWidget>(GetOwningPlayerController(), StaminaWidgetClass);
578 if(StaminaWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("StaminaWidget Creation Failed")); return;}
580 if(HUDLayoutWidget != nullptr)
581 {
582 HUDLayoutWidget->StaminaOverlay->AddChildToOverlay(StaminaWidget);
583 }
584}
class UStaminaWidget * StaminaWidget
Definition CustomHUD.h:205
class UOverlay * StaminaOverlay
Definition HUDLayoutWidget.h:44

◆ SetupWidgets()

void ACustomHUD::SetupWidgets ( )

Temp Change //

437{
438 if(GetOwningPlayerController() == nullptr){UE_LOG(LogCustomALS,Error,TEXT("Player Controller Missing in HUD"));return;}
439 {
441 if(bMultiplayer)
442 {
448
451 // if(bQuestSystemWidget){SetupQuestSystemWidget();}
452 // if(bQuestLogWidget){SetupQuestLogWidget();}
453 // if(bQuestNotificationManagerWidget){SetupQuestNotificationManagerWidget();}
454 // if(bQuestTrackerWidget){SetupQuestTrackerWidget();}
455 }
456 else
457 {
458 //@TODO Change how this works..
460 // if(bQuestSystemWidget){SetupQuestSystemWidget();}
461 // if(bQuestLogWidget){SetupQuestLogWidget();}
462 // if(bQuestNotificationManagerWidget){SetupQuestNotificationManagerWidget();}
463 // if(bQuestTrackerWidget){SetupQuestTrackerWidget();}
464 }
465 // if(bWeaponBarWidget){SetupWeaponWidget();}
466 // if(bCrosshairWidget){SetupWeaponCrosshairWidget();}
467 // if(bHealthWidget){SetupHealthWidget();}
472 }
473 // AddGameWidgetsToViewport();
474}
void SetupQuestMenuButton()
Definition CustomHUD.cpp:662
bool bMatchOverWidget
Definition CustomHUD.h:156
void SetupLayoutWidget()
Definition CustomHUD.cpp:504
bool bStaminaWidget
Definition CustomHUD.h:158
void SetupMatchOverWidget()
Definition CustomHUD.cpp:631
void SetupStaminaWidget()
Definition CustomHUD.cpp:572
void SetupChatBoxWidget()
Definition CustomHUD.cpp:647
void SetupKillFeedWidget()
Definition CustomHUD.cpp:587
bool bKillFeedWidget
Definition CustomHUD.h:152
void SetupScoreWidget()
Definition CustomHUD.cpp:601
void SetupScoreboardWidget()
Definition CustomHUD.cpp:616
void SetupGameLogWidget()
Definition CustomHUD.cpp:526
bool bScoreboardWidget
Definition CustomHUD.h:154
bool bInteractionCrosshairWidget
Definition CustomHUD.h:130
bool bInteractionContextWidget
Definition CustomHUD.h:132
bool bQuestMenuButtonWidget
Definition CustomHUD.h:138
bool bChatWidget
Definition CustomHUD.h:126
bool bGameLogWidget
Definition CustomHUD.h:164
void SetupInteractionContextWidget()
Definition CustomHUD.cpp:557
void SetupInteractionCrosshairWidget()
Definition CustomHUD.cpp:544

◆ ShowCustomPrompt()

void ACustomHUD::ShowCustomPrompt ( const FInteractionData & InteractionData)
overridevirtual

Implements IInteractionHUD.

114{
115 // if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("InteractionContextWidget missing when trying to StartFocusOnCharacter"));return;}
116 // InteractionContextWidget->ShowCustomPrompt(InteractionData);
117}

◆ StartFocusOnCharacter()

void ACustomHUD::StartFocusOnCharacter ( const FString & CharacterName,
const FInteractionData & InteractionData )
overridevirtual

Implements IInteractionHUD.

105{
106 if(bCommandingMode){return;}
107 // if(InteractionCrosshairWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Interaction CrosshairWidget missing when trying to StartFocusOnCharacter"));return;}
108 // InteractionCrosshairWidget->StartFocusOnCharacter(CharacterName, InteractionData);
109 // if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("InteractionContextWidget missing when trying to StartFocusOnCharacter"));return;}
110 // InteractionContextWidget->StartFocusOnCharacter(CharacterName, InteractionData);
111}
bool bCommandingMode
Definition CustomHUD.h:354

◆ StartFocusOnObject()

void ACustomHUD::StartFocusOnObject ( const FString & ObjectName,
const FInteractionData & InteractionData )
overridevirtual

Implements IInteractionHUD.

96{
97 if(bCommandingMode){return;}
98 // if(InteractionCrosshairWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Interaction CrosshairWidget missing when trying to StartFocusOnObject"));return;}
99 // InteractionCrosshairWidget->StartFocusOnObject(ObjectName, InteractionData);
100 // if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("InteractionContextWidget missing when trying to StartFocusOnObject"));return;}
101 // InteractionContextWidget->StartFocusOnObject(ObjectName, InteractionData);
102}

◆ StartOpenQuestMenu()

void ACustomHUD::StartOpenQuestMenu ( ) const
779{
780 if(OpenQuestMenuButtonWidget != nullptr)
781 {
783 }
784}
float OpenQuestMenuTime
Definition CustomHUD.h:167
void StartButtonProgress(const float Time)

◆ StartSelection()

void ACustomHUD::StartSelection ( const float Time)
overridevirtual

Implements IInteractionHUD.

132{
133 // if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("InteractionContextWidget missing when trying to SetSelectedInteraction"));return;}
134 // InteractionContextWidget->StartSelection(Time);
135}

◆ StealthIndicator()

void ACustomHUD::StealthIndicator ( AActor * ThreatActor,
const float Amount = 0.0f )
overridevirtual

Implements IStaminaHUD.

324{
325 if(!bStealthIndicator){return;}
326 if(StealthIndicatorWidgetClass == nullptr){UE_LOG(LogCustomALS,Error,TEXT("StealthIndicatorWidgetClass Class Missing in HUD"));return;};
327 UIncomingThreatWidget* StealthIndicatorWidget = CreateWidget<UIncomingThreatWidget>(GetOwningPlayerController(), StealthIndicatorWidgetClass);
328 if(StealthIndicatorWidget == nullptr){UE_LOG(LogCustomALS,Error,TEXT("StealthIndicatorWidget Creation Failed")); return;}
329 if(HUDLayoutWidget != nullptr)
330 {
331 StealthIndicatorWidget->StartThreatIndicationFromActor(ThreatActor, Amount);
332 HUDLayoutWidget->DamageIndicatorOverlay->AddChildToOverlay(StealthIndicatorWidget);
333 }
334}
bool bStealthIndicator
Definition CustomHUD.h:162
void StartThreatIndicationFromActor(AActor *ActorThreat, const float Amount=-1.0f, const UDamageType *DamageType=nullptr)
Definition IncomingThreatWidget.cpp:87

◆ StopOpenQuestMenu()

void ACustomHUD::StopOpenQuestMenu ( ) const
787{
788 if(OpenQuestMenuButtonWidget != nullptr)
789 {
791 }
792}

◆ StopSelection()

void ACustomHUD::StopSelection ( )
overridevirtual

Implements IInteractionHUD.

138{
139 // if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("InteractionContextWidget missing when trying to SetSelectedInteraction"));return;}
140 // InteractionContextWidget->StopSelection();
141}

◆ ToggleCompanionInteractions()

void ACustomHUD::ToggleCompanionInteractions ( const bool bShow = true)
overridevirtual

Implements ICompanionHUD.

159{
160 bCommandingMode = bShow;
162 // if(InteractionContextWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("InteractionContextWidget missing when trying to SetSelectedInteraction"));return;}
163 // InteractionContextWidget->
164}

◆ ToggleGameLog()

void ACustomHUD::ToggleGameLog ( )
overridevirtual

Reimplemented from AHUDBase.

227{
228 if(GameLogWidget == nullptr){UE_LOG(LogCustomALS, Error, TEXT("GameLogWidget Null ACustomHUD::ToggleGameLog"));return;}
229 const bool bVisible = GameLogWidget->IsVisible();
230 if(bVisible)
231 {
232 GameLogWidget->DeactivateWidget();
233 GameLogWidget->SetVisibility(ESlateVisibility::Collapsed);
234 FInputModeGameOnly GameOnly;
235 GetOwningPlayerController()->SetInputMode(GameOnly);
236 GetOwningPlayerController()->SetShowMouseCursor(false);
237 UWidgetBlueprintLibrary::SetFocusToGameViewport();
238 // UGameplayStatics::SetGamePaused(GetOwningPlayerController(), false);
239 }
240 else
241 {
242 GameLogWidget->SetVisibility(ESlateVisibility::Visible);
243 GetOwningPlayerController()->FlushPressedKeys();
244 FInputModeUIOnly UIOnly;
245 UIOnly.SetLockMouseToViewportBehavior(EMouseLockMode::LockAlways);
246 GetOwningPlayerController()->SetInputMode(UIOnly);
247 GetOwningPlayerController()->SetShowMouseCursor(true);
248 GameLogWidget->ActivateWidget();
249 // UGameplayStatics::SetGamePaused(GetOwningPlayerController(), true);
250 }
251}

◆ ToggleGameMenuWidget()

void ACustomHUD::ToggleGameMenuWidget ( class UUserWidget * TargetWidget)
743{
744 if(TargetWidget == nullptr){UE_LOG(LogCustomALS,Warning,TEXT("Target Widget Null"))return;}
745 WidgetToFocus = TargetWidget;
746 for(UUserWidget* GameMenuWidget : GameMenuWidgetList)
747 {
748 //- Check Is Valid //
749 if(GameMenuWidget != nullptr)
750 {
751 //- Is it already in focus //
752 if(GameMenuWidget == WidgetToFocus)
753 {
754 if(WidgetToFocus->IsVisible())
755 {
756 FocusOnGame();
757 }
758 else
759 {
761 }
762 }
763 else
764 {
765 if(GameMenuWidget->IsVisible())
766 {
767 GameMenuWidget->SetVisibility(ESlateVisibility::Collapsed);
768 }
769 else
770 {
771 GameMenuWidget->SetVisibility(ESlateVisibility::Visible);
772 }
773 }
774 }
775 }
776}
void FocusOnWidget() const
Definition CustomHUD.cpp:729
void FocusOnGame() const
Definition CustomHUD.cpp:718

◆ ToggleQuestLogBind()

void ACustomHUD::ToggleQuestLogBind ( )
private
172{
173 // ToggleQuestLog();
174}

◆ ToggleQuestTrackerBind()

void ACustomHUD::ToggleQuestTrackerBind ( )
private
177{
178 // ToggleQuestTracker();
179 // UE_LOG(LogCustomALS, Warning, TEXT("ACustomHUD::ToggleQuestTrackerBind"));
180}

◆ UpdateStamina()

void ACustomHUD::UpdateStamina ( const float CurrentStamina,
const float MaxStamina )
overridevirtual

Implements IStaminaHUD.

304{
305 if(bStaminaWidget == false){return;}
306 if(StaminaWidget == nullptr){UBaseHelpersBPLib::PrintToLog(this, "Stamina Widget Missing in Update Stamina, Custom HUD", true);return;}
307 StaminaWidget->UpdateStamina(CurrentStamina, MaxStamina);
308}
static void PrintToLog(const UObject *WorldContextObject, const FString &Message, const bool bWarning=false, const bool bError=false)
Definition BaseHelpersBPLib.cpp:98
void UpdateStamina(const float CurrentStamina, const float MaxStamina)
Definition StaminaWidget.cpp:16

◆ UpdateThreatIndication()

void ACustomHUD::UpdateThreatIndication ( const FVector & Location,
const float DetectionAmount )
virtual
347{
348
349}

Member Data Documentation

◆ bChatBoxOpen

bool ACustomHUD::bChatBoxOpen = false
private

◆ bChatWidget

bool ACustomHUD::bChatWidget = true

◆ bCommandingMode

bool ACustomHUD::bCommandingMode = false
private

◆ bCrosshairWidget

bool ACustomHUD::bCrosshairWidget = true

◆ bDamageIndicator

bool ACustomHUD::bDamageIndicator = true

◆ bGameLogWidget

bool ACustomHUD::bGameLogWidget = true

◆ bHealthWidget

bool ACustomHUD::bHealthWidget = true

◆ bInteractionContextWidget

bool ACustomHUD::bInteractionContextWidget = true

◆ bInteractionCrosshairWidget

bool ACustomHUD::bInteractionCrosshairWidget = true

◆ bKillFeedWidget

bool ACustomHUD::bKillFeedWidget = true

◆ bMatchOverWidget

bool ACustomHUD::bMatchOverWidget = true

◆ bMultiplayer

bool ACustomHUD::bMultiplayer = false
protected

◆ bQuestLogWidget

bool ACustomHUD::bQuestLogWidget = true

◆ bQuestMenuButtonWidget

bool ACustomHUD::bQuestMenuButtonWidget = true

◆ bQuestNotificationManagerWidget

bool ACustomHUD::bQuestNotificationManagerWidget = true

◆ bQuestSystemWidget

bool ACustomHUD::bQuestSystemWidget = true

◆ bQuestTrackerWidget

bool ACustomHUD::bQuestTrackerWidget = true

◆ bScoreboardWidget

bool ACustomHUD::bScoreboardWidget = true

◆ bScoreWidget

bool ACustomHUD::bScoreWidget = true

◆ bStaminaWidget

bool ACustomHUD::bStaminaWidget = true

◆ bStealthIndicator

bool ACustomHUD::bStealthIndicator = true

◆ bWeaponBarWidget

bool ACustomHUD::bWeaponBarWidget = true

◆ ChatBoxWidget

class UChatBoxWidget* ACustomHUD::ChatBoxWidget = nullptr
protected

◆ ChatWidgetClass

TSubclassOf<class UChatBoxWidget> ACustomHUD::ChatWidgetClass
protected

◆ CrosshairWidget

class UCrosshairWidget* ACustomHUD::CrosshairWidget = nullptr
protected

◆ CrosshairWidgetClass

TSubclassOf<class UCrosshairWidget> ACustomHUD::CrosshairWidgetClass
protected

◆ DamageIndicatorWidgetClass

TSubclassOf<class UIncomingThreatWidget> ACustomHUD::DamageIndicatorWidgetClass
protected

◆ GameLogWidget

class UGameLogWidget* ACustomHUD::GameLogWidget = nullptr
protected

◆ GameLogWidgetClass

TSubclassOf<class UUserWidget> ACustomHUD::GameLogWidgetClass
protected

◆ GameMenuWidgetList

TArray<UUserWidget*> ACustomHUD::GameMenuWidgetList
protected

◆ GameWidgetList

TArray<UUserWidget*> ACustomHUD::GameWidgetList
protected

◆ HUDLayoutWidget

class UHUDLayoutWidget* ACustomHUD::HUDLayoutWidget = nullptr
protected

◆ HUDLayoutWidgetClass

TSubclassOf<class UHUDLayoutWidget> ACustomHUD::HUDLayoutWidgetClass
protected

◆ InteractionContextWidget

class UInteractionContextWidget* ACustomHUD::InteractionContextWidget = nullptr
protected

◆ InteractionContextWidgetClass

TSubclassOf<class UInteractionContextWidget> ACustomHUD::InteractionContextWidgetClass
protected

◆ InteractionCrosshairWidget

class UInteractionCrosshairWidget* ACustomHUD::InteractionCrosshairWidget = nullptr
protected

◆ InteractionCrosshairWidgetClass

TSubclassOf<class UInteractionCrosshairWidget> ACustomHUD::InteractionCrosshairWidgetClass
protected

◆ KillFeedWidget

class UKillFeedWidget* ACustomHUD::KillFeedWidget = nullptr
protected

◆ KillFeedWidgetClass

TSubclassOf<class UKillFeedWidget> ACustomHUD::KillFeedWidgetClass
protected

◆ MatchFinishedClass

TSubclassOf<class UMatchFinishedWidget> ACustomHUD::MatchFinishedClass
protected

◆ MatchFinishedWidget

class UMatchFinishedWidget* ACustomHUD::MatchFinishedWidget = nullptr
protected

◆ MultiplayerScoreboardWidgetClass

TSubclassOf<class UScoreboardWidget> ACustomHUD::MultiplayerScoreboardWidgetClass
protected

◆ MultiplayerScoreWidgetClass

TSubclassOf<class UScoreWidget> ACustomHUD::MultiplayerScoreWidgetClass
protected

◆ MultiplayerTeamID

int32 ACustomHUD::MultiplayerTeamID = 0
protected

◆ OpenQuestMenuButtonWidget

class UButtonPromptWidget* ACustomHUD::OpenQuestMenuButtonWidget = nullptr
protected

◆ OpenQuestMenuButtonWidgetClass

TSubclassOf<class UButtonPromptWidget> ACustomHUD::OpenQuestMenuButtonWidgetClass
protected

◆ OpenQuestMenuTime

float ACustomHUD::OpenQuestMenuTime = 1.0f

◆ QuestNotificationManagerWidgetClass

TSubclassOf<class UQuestNotificationManager> ACustomHUD::QuestNotificationManagerWidgetClass
protected

◆ ScoreboardWidget

class UScoreboardWidget* ACustomHUD::ScoreboardWidget = nullptr
protected

◆ ScoreWidget

class UScoreWidget* ACustomHUD::ScoreWidget = nullptr
protected

◆ StaminaWidget

class UStaminaWidget* ACustomHUD::StaminaWidget = nullptr
protected

◆ StaminaWidgetClass

TSubclassOf<class UStaminaWidget> ACustomHUD::StaminaWidgetClass
protected

◆ StealthIndicatorWidgetClass

TSubclassOf<class UIncomingThreatWidget> ACustomHUD::StealthIndicatorWidgetClass
protected

◆ WeaponWidget

class UWeaponSystemWidget* ACustomHUD::WeaponWidget = nullptr
protected

◆ WeaponWidgetClass

TSubclassOf<class UWeaponSystemWidget> ACustomHUD::WeaponWidgetClass
protected

◆ WidgetToFocus

UUserWidget* ACustomHUD::WidgetToFocus = nullptr
protected

The documentation for this class was generated from the following files: