diff --git a/Source/StudyFrameworkPlugin/Private/HUD/SFHUDWidget.cpp b/Source/StudyFrameworkPlugin/Private/HUD/SFHUDWidget.cpp index 461565381c39f46ed75548fa5e7bb0c655560aa7..703778d2347d12b4942e73c17b8b660bde6b9b8c 100644 --- a/Source/StudyFrameworkPlugin/Private/HUD/SFHUDWidget.cpp +++ b/Source/StudyFrameworkPlugin/Private/HUD/SFHUDWidget.cpp @@ -4,6 +4,7 @@ #include "HUD/SFHUDWidget.h" #include "Help/SFUtils.h" +#include "Logging/SFLoggingUtils.h" USFHUDWidget::USFHUDWidget(const FObjectInitializer& ObjectInitializer) : Super(ObjectInitializer) @@ -27,12 +28,18 @@ void USFHUDWidget::SetPhase(const FString& Text) void USFHUDWidget::SetCondition(const TMap<FString, FString>& Texts) { + //TODO: as of now we have a fixed number of text blocks, maybe this can be made dynamic TArray<UTextBlock*> TextBlocks = { ConditionText1, ConditionText2, ConditionText3, ConditionText4, ConditionText5, ConditionText6 }; int TextIndex=0; for(auto FactorLevel : Texts) { + if(TextIndex>=TextBlocks.Num()) + { + FSFLoggingUtils::Log("Not all factor levels fit in the HUD, so only showing the first 6 levels"); + break; + } TextBlocks[TextIndex++]->SetText(FText::FromString(FactorLevel.Key + ": "+FactorLevel.Value)); } while(TextIndex<TextBlocks.Num())