You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
#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]
70 lines
2.0 KiB
C++
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
|