Files
DTFluxAPI/Source/DTFluxUtilities/Private/FTDFluxUtils.cpp

59 lines
2.0 KiB
C++
Raw Normal View History

// Fill out your copyright notice in the Description page of Project Settings.
#include "FTDFluxUtils.h"
#include "DTFluxCoreSubsystem.h"
#include "DTFluxUtilitiesModule.h"
2025-07-13 01:18:31 +02:00
FText UFTDFluxUtils::GetFormatedName(const int& Bib, const int MaxChar, const FString Separator,
const FString OverFlowChar)
{
UDTFluxCoreSubsystem* CoreSubsystem = GEngine->GetEngineSubsystem<UDTFluxCoreSubsystem>();
if (CoreSubsystem == nullptr)
{
FDTFluxParticipant OutParticipant;
CoreSubsystem->GetParticipant(Bib, OutParticipant);
return OutParticipant.GetFormattedNameText(MaxChar, Separator, OverFlowChar);
}
UE_LOG(logDTFluxUtilities, Error, TEXT("DTFluxCoreSubsystem not available"));
return FText();
}
FText UFTDFluxUtils::GetParticipantFormatedName(FDTFluxParticipant& Participant, const int MaxChar,
2025-07-13 01:18:31 +02:00
const FString Separator,
const FString OverFlowChar)
{
2025-07-13 01:18:31 +02:00
return Participant.GetFormattedNameText(MaxChar, Separator, OverFlowChar);
}
void UFTDFluxUtils::GetFullName(const int Bib, FText& OutFullName)
{
OutFullName = FText();
UDTFluxCoreSubsystem* CoreSubsystem = GEngine->GetEngineSubsystem<UDTFluxCoreSubsystem>();
FDTFluxParticipant Participant;
CoreSubsystem->GetParticipant(Bib, Participant);
{
FDTFluxParticipant OutParticipant;
if(CoreSubsystem->GetParticipant(Bib, OutParticipant))
{
FString FormattedName = "";
if (OutParticipant.IsTeam())
{
OutFullName = FText::FromString(Participant.Team);
return;
}
if (Participant.GetTeammate().IsEmpty())
{
UE_LOG(logDTFluxUtilities, Warning, TEXT("Non teammate found with Bib %i"), Bib)
return;
}
OutFullName = FText::FromString(FString::Printf(TEXT("%s %s"), *Participant.GetTeammate()[0].FirstName,
*Participant.GetTeammate()[0].LastName));
return;
}
UE_LOG(logDTFluxUtilities, Warning, TEXT("Participant not found with Bib %i"), Bib);
}
UE_LOG(logDTFluxUtilities, Error, TEXT("DTFluxCoreSubsystem not available"));
}