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;
 | 
						|
}
 |