23 lines
674 B
C++
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;
|
|
}
|