37{
38 if(!Info.
IsValid()){SetVisibility(ESlateVisibility::Collapsed);UE_LOG(LogQuestSystem,
Warning,TEXT(
"UQuestTrackerWidget::SetQuestTracker No Quest Info, Quest Tracker Hidden"));
return;}
39 Super::UpdateQuestInfo(Info.
QuestID, Info);
42 float TotalProgress = 0.0f;
43 float TotalRequired = 0.0f;
44
46 if(GetOwningPlayer() ==
nullptr){UE_LOG(LogQuestSystem,
Warning,TEXT(
"Owning Player NULL in QuestTracker"));
return;}
47 for(const auto Objective : Info.GetObjectives())
48 {
50 if(ObjectiveWidget == nullptr){continue;}
52 if(!Objective.bIsOptional && Objective.GetIsStarted())
53 {
54 TotalProgress += Objective.GetCurrentProgress();
55 TotalRequired += Objective.RequiredProgress;
56 }
57
58 if(Objective.bIsUnlockedAtCertainProgress && Objective.UnlockProgressNeeded > Info.
GetTotalProgress())
59 {
60 continue;
61 }
63 }
64 if(TotalRequired != 0.0f)
65 {
67 }
69 {
71 }
72 else
73 {
75 }
76}
bool bShowOverallProgress
Definition QuestData.h:816
FString QuestID
Definition QuestData.h:802
FString QuestName
Definition QuestData.h:805
int32 GetTotalProgress() const
Definition QuestData.h:932