Files
UnrealEngineUWP/Engine/Source/Runtime/Landscape/Private/LandscapeComponent.cpp
ryan durand 0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00

70 lines
2.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "LandscapeComponent.h"
#include "LandscapeLayerInfoObject.h"
#include "Materials/MaterialInstance.h"
#include "LandscapeEdit.h"
#include "LandscapeRender.h"
FName FWeightmapLayerAllocationInfo::GetLayerName() const
{
if (LayerInfo)
{
return LayerInfo->LayerName;
}
return NAME_None;
}
uint32 FWeightmapLayerAllocationInfo::GetHash() const
{
uint32 Hash = PointerHash(LayerInfo);
Hash = HashCombine(GetTypeHash(WeightmapTextureIndex), Hash);
Hash = HashCombine(GetTypeHash(WeightmapTextureChannel), Hash);
return Hash;
}
#if WITH_EDITOR
void FLandscapeEditToolRenderData::UpdateDebugColorMaterial(const ULandscapeComponent* const Component)
{
Component->GetLayerDebugColorKey(DebugChannelR, DebugChannelG, DebugChannelB);
}
void FLandscapeEditToolRenderData::UpdateSelectionMaterial(int32 InSelectedType, const ULandscapeComponent* const Component)
{
// Check selection
if (SelectedType != InSelectedType && (SelectedType & ST_REGION) && !(InSelectedType & ST_REGION))
{
// Clear Select textures...
if (DataTexture)
{
FLandscapeEditDataInterface LandscapeEdit(Component->GetLandscapeInfo());
LandscapeEdit.ZeroTexture(DataTexture);
}
}
SelectedType = InSelectedType;
}
void ULandscapeComponent::UpdateEditToolRenderData()
{
FLandscapeComponentSceneProxy* LandscapeSceneProxy = (FLandscapeComponentSceneProxy*)SceneProxy;
if (LandscapeSceneProxy != nullptr)
{
TArray<UMaterialInterface*> UsedMaterialsForVerification;
const bool bGetDebugMaterials = true;
GetUsedMaterials(UsedMaterialsForVerification, bGetDebugMaterials);
FLandscapeEditToolRenderData LandscapeEditToolRenderData = EditToolRenderData;
ENQUEUE_RENDER_COMMAND(UpdateEditToolRenderData)(
[LandscapeEditToolRenderData, LandscapeSceneProxy, UsedMaterialsForVerification](FRHICommandListImmediate& RHICmdList)
{
LandscapeSceneProxy->EditToolRenderData = LandscapeEditToolRenderData;
LandscapeSceneProxy->SetUsedMaterialForVerification(UsedMaterialsForVerification);
});
}
}
#endif