VIRTUOS_Playground/VIRTUOS_ExpansionPluginTests/Source/VRExpPluginExample/Private/CodeOnlyFunctionLibrary.cpp

23 lines
674 B
C++

#include "CodeOnlyFunctionLibrary.h"
#include "GameFramework/Actor.h"
#include "Engine/Level.h"
FString UCodeOnlyFunctionLibrary::RenameActorUnique(AActor* ActorToRename, const FString& DesiredName, AActor* ReferenceActorForLevel)
{
if (!ActorToRename || !ReferenceActorForLevel)
{
return FString();
}
FString NewName = DesiredName;
while (!ActorToRename->Rename(*NewName, ReferenceActorForLevel->GetLevel(), REN_Test))
{
UE_LOG(LogTemp, Warning, TEXT("Rename conflict on drop: %s"), *NewName);
NewName.AppendChar('x');
}
ActorToRename->Rename(*NewName, ReferenceActorForLevel->GetLevel());
return NewName;
}