2014-12-07 19:09:38 -05:00
|
|
|
// Copyright 1998-2015 Epic Games, Inc. All Rights Reserved.
|
2014-03-14 14:13:41 -04:00
|
|
|
|
|
|
|
|
#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)
|
|
|
|
|
{
|
2014-05-01 05:32:30 -04:00
|
|
|
FString ObjName = MakeUniqueObjectName(GetTransientPackage(), EdClass).ToString();
|
2014-03-14 14:13:41 -04:00
|
|
|
ObjName += "_EdObj";
|
2015-02-09 05:43:45 -05:00
|
|
|
Obj = NewObject<UObject>(GetTransientPackage(), EdClass, FName(*ObjName), RF_Public | RF_Standalone | RF_Transient);
|
2014-03-14 14:13:41 -04:00
|
|
|
EditorObjMap.Add(EdClass,Obj);
|
|
|
|
|
}
|
|
|
|
|
return Obj;
|
|
|
|
|
}
|