From 07c83b5c8e6b3b38b489ed9ee8d481f78478841b Mon Sep 17 00:00:00 2001 From: Ange-Marie MAURIN Date: Mon, 14 Jul 2025 20:41:53 +0200 Subject: [PATCH] Updated Participant factory and FormattedName for better mem managment --- .../Types/Struct/DTFluxTeamListStruct.cpp | 29 +++++++++++-------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/Source/DTFluxCore/Private/Types/Struct/DTFluxTeamListStruct.cpp b/Source/DTFluxCore/Private/Types/Struct/DTFluxTeamListStruct.cpp index 80a61be..62f0788 100644 --- a/Source/DTFluxCore/Private/Types/Struct/DTFluxTeamListStruct.cpp +++ b/Source/DTFluxCore/Private/Types/Struct/DTFluxTeamListStruct.cpp @@ -150,7 +150,9 @@ int FDTFluxParticipant::GetTeammateNum() const bool FDTFluxParticipant::IsTeam() const { - return Teammate.Num() > 1; + UE_LOG(logDTFluxCore, Verbose, TEXT("IsTeam() -> %s, Teamate Num %i"), + Team.IsEmpty() ? TEXT("TRUE") : TEXT("FALSE"), Teammate.Num()); + return !Team.IsEmpty(); } const TArray& FDTFluxParticipant::GetTeammate() const @@ -165,13 +167,14 @@ FString FDTFluxParticipant::GetFormattedName(const int MaxChar, const FString& S { return TEXT(""); } - FString FirstName; - FString LastName; + if (IsTeam()) { + FString FullName; + UE_LOG(logDTFluxCore, Verbose, TEXT("Participant is a team")); if (!Team.IsEmpty()) { - LastName = Team; + FullName = Team; } else { @@ -180,19 +183,21 @@ FString FDTFluxParticipant::GetFormattedName(const int MaxChar, const FString& S { Names.Add(Person.LastName); } - LastName = FString::Join(Names, TEXT("/")); + FullName = FString::Join(Names, TEXT("/")); } - } - else - { - LastName = TEXT("Unknown"); + FullName = FullName.ToUpper(); + if (FullName.Len() <= MaxChar) + { + return FullName; + } + return FullName.Left(MaxChar) + OverflowChar; } FString Initial; - if (!FirstName.IsEmpty()) + if (!Teammate[0].FirstName.IsEmpty()) { - Initial = FirstName.Left(1).ToUpper() + Separator; + Initial = Teammate[0].FirstName.Left(1).ToUpper() + Separator; } - FString FormattedLastName = LastName.ToUpper(); + const FString FormattedLastName = Teammate[0].LastName.ToUpper(); FString FullName = Initial + FormattedLastName; if (FullName.Len() <= MaxChar) {