adding Helpers GetCurrentStage GetCurrentContest GetCurrentStageName

This commit is contained in:
2024-07-19 08:18:35 +02:00
parent ea839cb46a
commit f41360ba11
2 changed files with 67 additions and 0 deletions

View File

@ -26,3 +26,60 @@ EDTFluxStageStatusType UDTFluxModelHelper::GetStatusType(const int ContestID, co
} }
return StageStatus; return StageStatus;
} }
int UDTFluxModelHelper::GetCurrentContest(UDTFluxDataStorage* DataStorage)
{
int ContestId = -1;
FDateTime Now = FDateTime::Now();
for(const auto& Contest : DataStorage->Contests)
{
for(const auto& Stage : Contest.Stages)
{
// Stage has begun
if(Stage.StartTime <= Now)
{
return Contest.Id;
}
}
}
return ContestId;
}
TArray<int> UDTFluxModelHelper::GetCurrentStage(UDTFluxDataStorage* DataStorage)
{
TArray<int> ContestAndStageId;
FDateTime Now = FDateTime::Now();
for(const auto& Contest : DataStorage->Contests)
{
for(const auto& Stage : Contest.Stages)
{
// Stage has begun
if(Stage.StartTime <= Now)
{
ContestAndStageId.Add(Contest.Id);
ContestAndStageId.Add(Stage.Id);
return ContestAndStageId;
}
}
}
return ContestAndStageId;
}
FString UDTFluxModelHelper::GetCurrentStageName(UDTFluxDataStorage* DataStorage)
{
FString Name;
FDateTime Now = FDateTime::Now();
for(const auto& Contest : DataStorage->Contests)
{
for(const auto& Stage : Contest.Stages)
{
// Stage has begun
if(Stage.StartTime <= Now)
{
Name = FString::Printf(TEXT("Contest %s Stage %s"), *Contest.Name, *Stage.Name);
return Name;
}
}
}
return Name;
}

View File

@ -121,4 +121,14 @@ public:
static EDTFluxStageStatusType GetStatusType(const int ContestID, const int StageID, UDTFluxDataStorage* DataStorage); static EDTFluxStageStatusType GetStatusType(const int ContestID, const int StageID, UDTFluxDataStorage* DataStorage);
UFUNCTION(BlueprintCallable, Category="DTFlux|Model|Helpers")
static int GetCurrentContest(UDTFluxDataStorage* DataStorage);
UFUNCTION(BlueprintCallable, Category="DTFlux|Model|Helpers")
static TArray<int> GetCurrentStage(UDTFluxDataStorage* DataStorage);
UFUNCTION(BlueprintCallable, Category="DTFlux|Model|Helpers")
static FString GetCurrentStageName(UDTFluxDataStorage* DataStorage);
}; };