Updated Participant factory and FormattedName for better mem managment

This commit is contained in:
2025-07-14 20:41:53 +02:00
parent de5ed7f328
commit 07c83b5c8e

View File

@ -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<FDTFluxPerson>& 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)
{