Files
UnrealEngineUWP/Engine/Source/Runtime/Landscape/Private/LandscapeInfoMap.cpp
patrick enfedaque cd7c978ede - Landscape Layer System: OnPreSave make sure we have generated final data
#rb richard.malo,michael.dupuis
#rnx

#ROBOMERGE-OWNER: ryan.vance
#ROBOMERGE-AUTHOR: patrick.enfedaque
#ROBOMERGE-SOURCE: CL 6429172 via CL 6429955 via CL 6430000
#ROBOMERGE-BOT: DEVVR (Main -> Dev-VR)

[CL 6501837 by patrick enfedaque in Dev-VR branch]
2019-05-15 14:48:43 -04:00

57 lines
1.2 KiB
C++

// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#include "LandscapeInfoMap.h"
#include "Engine/World.h"
#include "LandscapeInfo.h"
ULandscapeInfoMap::ULandscapeInfoMap(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
, World(nullptr)
{
}
void ULandscapeInfoMap::PostDuplicate(bool bDuplicateForPIE)
{
Super::PostDuplicate(bDuplicateForPIE);
check(Map.Num() == 0);
}
void ULandscapeInfoMap::Serialize(FArchive& Ar)
{
Super::Serialize(Ar);
if (Ar.IsTransacting() || Ar.IsObjectReferenceCollector())
{
Ar << Map;
}
}
void ULandscapeInfoMap::BeginDestroy()
{
if (World != nullptr)
{
World->PerModuleDataObjects.Remove(this);
}
Super::BeginDestroy();
}
void ULandscapeInfoMap::AddReferencedObjects(UObject* InThis, FReferenceCollector& Collector)
{
ULandscapeInfoMap* This = CastChecked<ULandscapeInfoMap>(InThis);
Collector.AddReferencedObjects(This->Map, This);
}
#if WITH_EDITORONLY_DATA
ULandscapeInfoMap& ULandscapeInfoMap::GetLandscapeInfoMap(const UWorld* World)
{
ULandscapeInfoMap *FoundObject = nullptr;
World->PerModuleDataObjects.FindItemByClass(&FoundObject);
checkf(FoundObject, TEXT("ULandscapInfoMap object was not created for this UWorld."));
return *FoundObject;
}
#endif // WITH_EDITORONLY_DATA