// Copyright Epic Games, Inc. All Rights Reserved. #include "SMetaHumanPreviewSceneDetailCustomization.h" #include "DetailLayoutBuilder.h" #include "DetailWidgetRow.h" #include "SMetaHumanCharacterEditorPreviewSettingsView.h" #include "IPropertyUtilities.h" #include "IDetailGroup.h" TSharedRef FMetaHumanPreviewSceneCustomization::MakeInstance() { return MakeShareable(new FMetaHumanPreviewSceneCustomization()); } void FMetaHumanPreviewSceneCustomization::CustomizeDetails(IDetailLayoutBuilder& DetailBuilder) { TArray> Objects; DetailBuilder.GetObjectsBeingCustomized(Objects); if (Objects.Num() > 0) { TWeakObjectPtr PreviewDescriptionObject = Objects[0]; TAttribute IsEnabled = TAttribute::Create([this, PreviewDescriptionObject]() { if (UMetaHumanCharacterEditorPreviewSceneDescription* PreviewDescription = Cast(PreviewDescriptionObject.Get())) { return PreviewDescription->bAnimationControllerEnabled; } return false; }); IDetailCategoryBuilder& Category = DetailBuilder.EditCategory("Animation", FText::GetEmpty(), ECategoryPriority::Default); TSharedPtr AnimationControllerHandle = DetailBuilder.GetProperty(GET_MEMBER_NAME_CHECKED(UMetaHumanCharacterEditorPreviewSceneDescription, AnimationController)); Category.AddProperty(AnimationControllerHandle).IsEnabled(IsEnabled); } }