Files
UnrealEngineUWP/Engine/Plugins/Animation/ControlRig/Source/ControlRigEditor/Private/ControlRigBlueprintDetails.cpp
helge mathee ceb6082081 Control Rig: Control Rig Modules WIP
#rb audit
#jira UE-173817

[CL 27988329 by helge mathee in ue5-main branch]
2023-09-19 03:38:24 -04:00

39 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "ControlRigBlueprintDetails.h"
#include "ControlRigBlueprint.h"
#include "DetailLayoutBuilder.h"
#include "Rigs/RigHierarchy.h"
TSharedRef<IDetailCustomization> FControlRigBlueprintDetails::MakeInstance()
{
return MakeShareable(new FControlRigBlueprintDetails);
}
void FControlRigBlueprintDetails::CustomizeDetails(IDetailLayoutBuilder& DetailLayout)
{
bool bIsValidRigModule = CVarControlRigHierarchyEnableModules.GetValueOnAnyThread();
if(bIsValidRigModule)
{
bIsValidRigModule = false;
TArray<TWeakObjectPtr<UObject>> DetailObjects;
DetailLayout.GetObjectsBeingCustomized(DetailObjects);
for(TWeakObjectPtr<UObject> DetailObject : DetailObjects)
{
if(UControlRigBlueprint* Blueprint = Cast<UControlRigBlueprint>(DetailObject.Get()))
{
if(Blueprint->IsControlRigModule())
{
Blueprint->UpdateExposedModuleConnectors();
bIsValidRigModule = true;
}
}
}
}
if(!bIsValidRigModule)
{
DetailLayout.HideProperty(GET_MEMBER_NAME_CHECKED(UControlRigBlueprint, RigModuleSettings));
}
}