Files
UnrealEngineUWP/Engine/Source/Editor/Persona/Private/EditorObjectsTracker.cpp
Mikolaj Sieluzycki 52c71176ab Rename StaticConstructObject to StaticConstructObject_Internal and use it only in CoreUObject module. Change rest of usages to NewObject.
#codereview Robert.Manuszewski

[CL 2437731 by Mikolaj Sieluzycki in Main branch]
2015-02-09 05:43:45 -05:00

29 lines
845 B
C++

// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
#include "PersonaPrivatePCH.h"
#include "EditorObjectsTracker.h"
void FEditorObjectTracker::AddReferencedObjects( FReferenceCollector& Collector )
{
for (TMap<UClass*, UObject*>::TIterator It(EditorObjMap); It; ++It)
{
UObject *Obj = It.Value();
if(ensure(Obj))
{
Collector.AddReferencedObject(Obj);
}
}
}
UObject* FEditorObjectTracker::GetEditorObjectForClass( UClass* EdClass )
{
UObject *Obj = (EditorObjMap.Contains(EdClass) ? *EditorObjMap.Find(EdClass) : NULL);
if(Obj == NULL)
{
FString ObjName = MakeUniqueObjectName(GetTransientPackage(), EdClass).ToString();
ObjName += "_EdObj";
Obj = NewObject<UObject>(GetTransientPackage(), EdClass, FName(*ObjName), RF_Public | RF_Standalone | RF_Transient);
EditorObjMap.Add(EdClass,Obj);
}
return Obj;
}