From 594f3b0fb0fadd7cad068ff2fcf395ab295f3763 Mon Sep 17 00:00:00 2001 From: "jonathan.ehret" <ehret@vr.rwth-aachen.de> Date: Mon, 17 Jul 2023 17:08:34 +0200 Subject: [PATCH] add the possibility to hide the HUD at runtime, e.g., when yu want to navigate to a specific condition nd then record a video in full screen --- .../StudyFrameworkPlugin/Private/HUD/SFMasterHUD.cpp | 10 ++++++++++ Source/StudyFrameworkPlugin/Private/SFGameInstance.cpp | 7 +++++++ Source/StudyFrameworkPlugin/Public/HUD/SFMasterHUD.h | 3 +++ Source/StudyFrameworkPlugin/Public/SFGameInstance.h | 4 ++++ 4 files changed, 24 insertions(+) diff --git a/Source/StudyFrameworkPlugin/Private/HUD/SFMasterHUD.cpp b/Source/StudyFrameworkPlugin/Private/HUD/SFMasterHUD.cpp index 9ca4d84..621efd0 100644 --- a/Source/StudyFrameworkPlugin/Private/HUD/SFMasterHUD.cpp +++ b/Source/StudyFrameworkPlugin/Private/HUD/SFMasterHUD.cpp @@ -273,3 +273,13 @@ void ASFMasterHUD::OnShowConditionsButtonPressed() const ASFHMDSpectatorHUDHelp* ASFMasterHUD::GetHUDHelper() { return HMDHUDHelper; } + +void ASFMasterHUD::SetHUDVisible(bool bVisible) +{ + if (bVisible) { + HUDWidget->SetVisibility(ESlateVisibility::Visible); + } + else { + HUDWidget->SetVisibility(ESlateVisibility::Hidden); + } +} diff --git a/Source/StudyFrameworkPlugin/Private/SFGameInstance.cpp b/Source/StudyFrameworkPlugin/Private/SFGameInstance.cpp index efc56df..5ecf2b0 100644 --- a/Source/StudyFrameworkPlugin/Private/SFGameInstance.cpp +++ b/Source/StudyFrameworkPlugin/Private/SFGameInstance.cpp @@ -719,6 +719,13 @@ USFExperimenterWindow* USFGameInstance::GetExperimenterWindow() const return ExperimenterWindow; } +void USFGameInstance::SetHUDVisible(bool bVisible) +{ + if (GetHUD()) { + GetHUD()->SetHUDVisible(bVisible); + } +} + USFFadeHandler* USFGameInstance::GetFadeHandler() { return FadeHandler; diff --git a/Source/StudyFrameworkPlugin/Public/HUD/SFMasterHUD.h b/Source/StudyFrameworkPlugin/Public/HUD/SFMasterHUD.h index f30419c..23fdb72 100644 --- a/Source/StudyFrameworkPlugin/Public/HUD/SFMasterHUD.h +++ b/Source/StudyFrameworkPlugin/Public/HUD/SFMasterHUD.h @@ -63,6 +63,9 @@ public: const ASFHMDSpectatorHUDHelp* GetHUDHelper(); + //setting HUD in-/visibile at runtime + void SetHUDVisible(bool bVisible); + protected: UPROPERTY(VisibleAnywhere) USFHUDWidget* HUDWidget; diff --git a/Source/StudyFrameworkPlugin/Public/SFGameInstance.h b/Source/StudyFrameworkPlugin/Public/SFGameInstance.h index 5a1c98c..2a3836f 100644 --- a/Source/StudyFrameworkPlugin/Public/SFGameInstance.h +++ b/Source/StudyFrameworkPlugin/Public/SFGameInstance.h @@ -144,6 +144,10 @@ public: UFUNCTION(BlueprintCallable) USFExperimenterWindow* GetExperimenterWindow() const; + //setting HUD in-/visibile at runtime + UFUNCTION(BlueprintCallable) + void SetHUDVisible(bool bVisible); + //this is used by the SFMasterHUD to store content between levels FHUDSavedData HUDSavedData; -- GitLab