From c88718fe35f6a9acc652429a06574bb53bc30475 Mon Sep 17 00:00:00 2001 From: Ange-Marie MAURIN Date: Fri, 18 Jul 2025 23:20:34 +0200 Subject: [PATCH] Modified InitPursuit to get Rankings ONLY FROM DATAASSET --- .../Private/DTFluxPursuitManager.cpp | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/Source/DTFluxCoreSubsystem/Private/DTFluxPursuitManager.cpp b/Source/DTFluxCoreSubsystem/Private/DTFluxPursuitManager.cpp index bb19414..703e9c7 100644 --- a/Source/DTFluxCoreSubsystem/Private/DTFluxPursuitManager.cpp +++ b/Source/DTFluxCoreSubsystem/Private/DTFluxPursuitManager.cpp @@ -28,12 +28,14 @@ void UDTFluxPursuitManager::InitPursuit(const TArray InContestIds, const in FDTFluxContest Contest; if (CoreSubsystem->GetContestForId(ContestId, Contest)) { - BindRankings(); + // BindRankings(); FDTFluxStageKey StageKey = FDTFluxStageKey(ContestId, Contest.GetLastStageId()); FDTFluxStageRankings TempStageRankings; //Obtenir les ranking Frais. - CoreSubsystem->GetStageRankingsWithKey(StageKey, TempStageRankings, false); - PendingStageRanking.Add(StageKey, false); + CoreSubsystem->GetStageRankingsWithKey(StageKey, TempStageRankings, true); + AllRankings.Add(TempStageRankings); + LaunchPursuitSequence(); + // CoreSubsystem->GetStageRankings() } } } @@ -46,25 +48,6 @@ void UDTFluxPursuitManager::SetPursuitInfoIsMassStart(FDTFluxPursuitGroup& NextF } } -void UDTFluxPursuitManager::DebugFocusNext(const TArray& OutPursuitFocusNext) -{ - FString FocusBibs; - for (const auto& Pursuit : OutPursuitFocusNext) - { - FocusBibs += FString::Printf(TEXT("%d "), Pursuit.Bib); - } - UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("Focus Bibs: %s"), *FocusBibs); -} - -void UDTFluxPursuitManager::DebugOutPoursuitNext(const TArray& OutPursuitNext) -{ - FString NextBibs; - for (int32 i = 0; i < OutPursuitNext.Num(); i++) - { - NextBibs += FString::Printf(TEXT("%d "), OutPursuitNext[i].Bib); - } - UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("Next Bibs: %s"), *NextBibs); -} void UDTFluxPursuitManager::GetPursuit(TArray& OutPursuitFocusNext, TArray& OutPursuitNext, bool& BIsFocusTruncate, @@ -73,9 +56,9 @@ void UDTFluxPursuitManager::GetPursuit(TArray& OutPursuitFoc FDateTime MetricsStartFunction = FDateTime::UtcNow(); FDateTime CurrentTime = FDateTime::Now(); - // UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("=== GetPursuit CALLED ===")); - // UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("MaxSimultaneousPursuit: %d"), MaxSimultaneousPursuit); - // UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("Available groups: %d"), GroupedPursuit.Num()); + UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("=== GetPursuit CALLED ===")); + UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("MaxSimultaneousPursuit: %d"), MaxSimultaneousPursuit); + UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("Available groups: %d"), GroupedPursuit.Num()); // BAd Parameter if (MaxSimultaneousPursuit <= 0) @@ -111,19 +94,16 @@ void UDTFluxPursuitManager::GetPursuit(TArray& OutPursuitFoc GroupedPursuit.RemoveAt(i); } } - - OutPursuitFocusNext.Reset(); OutPursuitNext.Reset(); - // === VÉRIFICATION CRITIQUE : S'assurer qu'il reste des groupes après suppression === if (GroupedPursuit.IsEmpty()) { UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("All groups were expired and removed - no groups available")); OutPursuitFocusNext.Reset(); OutPursuitNext.Reset(); BIsFocusTruncate = false; - bIsSequenceDone = true; // Marquer la séquence comme terminée + bIsSequenceDone = true; return; } @@ -180,7 +160,6 @@ void UDTFluxPursuitManager::GetPursuit(TArray& OutPursuitFoc } } - // === LOGS DE RÉSUMÉ === UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("=== PURSUIT RESULTS ===")); UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("Focus: %d participants"), OutPursuitFocusNext.Num()); UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("Next: %d participants"), OutPursuitNext.Num()); @@ -322,7 +301,6 @@ bool UDTFluxPursuitManager::LaunchPursuitSequence() { if (Pair.Value.StartTimeGlobal != FDateTime::MinValue() && Pair.Value.StartTimeGlobal != FDateTime::MaxValue()) { - // récuperation de la ref de la valeur actuel de la fréquence dans la TMap Freq int& CurrentFreq = StartTimeFrequency.FindOrAdd(Pair.Value.StartTimeGlobal, 0); CurrentFreq = Pair.Value.PursuitGroup.Num(); if (CurrentFreq > MaxFrequency) @@ -348,3 +326,25 @@ bool UDTFluxPursuitManager::LaunchPursuitSequence() OnPursuitSequenceReady.Broadcast(PursuitData); return true; } + + + +void UDTFluxPursuitManager::DebugFocusNext(const TArray& OutPursuitFocusNext) +{ + FString FocusBibs; + for (const auto& Pursuit : OutPursuitFocusNext) + { + FocusBibs += FString::Printf(TEXT("%d "), Pursuit.Bib); + } + UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("Focus Bibs: %s"), *FocusBibs); +} + +void UDTFluxPursuitManager::DebugOutPoursuitNext(const TArray& OutPursuitNext) +{ + FString NextBibs; + for (int32 i = 0; i < OutPursuitNext.Num(); i++) + { + NextBibs += FString::Printf(TEXT("%d "), OutPursuitNext[i].Bib); + } + UE_LOG(logDTFluxCoreSubsystem, Warning, TEXT("Next Bibs: %s"), *NextBibs); +} \ No newline at end of file