Files
UnrealEngineUWP/Engine/Source/Editor/DetailCustomizations/Private/MeshComponentDetails.cpp
Marc Audy 11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00

30 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "MeshComponentDetails.h"
#include "Components/MeshComponent.h"
#include "PropertyHandle.h"
#include "DetailLayoutBuilder.h"
#include "DetailCategoryBuilder.h"
#include "IDetailsView.h"
#include "AssetSelection.h"
TSharedRef<IDetailCustomization> FMeshComponentDetails::MakeInstance()
{
return MakeShareable( new FMeshComponentDetails );
}
void FMeshComponentDetails::CustomizeDetails( IDetailLayoutBuilder& DetailLayout )
{
RenderingCategory = &DetailLayout.EditCategory("Rendering");
TSharedRef<IPropertyHandle> MaterialProperty = DetailLayout.GetProperty( GET_MEMBER_NAME_CHECKED(UMeshComponent, OverrideMaterials) );
if( MaterialProperty->IsValidHandle() )
{
// Only show this in the advanced section of the category if we have selected actors (which will show a separate material section)
bool bIsAdvanced = DetailLayout.GetDetailsView() && DetailLayout.GetDetailsView()->GetSelectedActorInfo().NumSelected > 0;
RenderingCategory->AddProperty( MaterialProperty, bIsAdvanced ? EPropertyLocation::Advanced : EPropertyLocation::Default );
}
}