You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Animation Layer node doesn't pass through variables found in instanced classes
#fix Reintroduce missing behaviour for generating pin exposing widget in details view for LayerNode #jira UE-78482 #rb Lina.Halper #ROBOMERGE-SOURCE: CL 7878471 via CL 7882193 #ROBOMERGE-BOT: (v389-7813075) [CL 7882233 by jurre debaare in Main branch]
This commit is contained in:
@@ -227,6 +227,35 @@ void UAnimGraphNode_SubInstanceBase::CustomizeDetails(IDetailLayoutBuilder& Deta
|
||||
{
|
||||
Super::CustomizeDetails(DetailBuilder);
|
||||
|
||||
GenerateExposedPinsDetails(DetailBuilder);
|
||||
|
||||
IDetailCategoryBuilder& CategoryBuilder = DetailBuilder.EditCategory(FName(TEXT("Settings")));
|
||||
|
||||
// Customize InstanceClass
|
||||
{
|
||||
TSharedRef<IPropertyHandle> ClassHandle = DetailBuilder.GetProperty(TEXT("Node.InstanceClass"), GetClass());
|
||||
ClassHandle->MarkHiddenByCustomization();
|
||||
|
||||
FDetailWidgetRow& ClassWidgetRow = CategoryBuilder.AddCustomRow(LOCTEXT("FilterStringInstanceClass", "Instance Class"));
|
||||
ClassWidgetRow.NameContent()
|
||||
[
|
||||
ClassHandle->CreatePropertyNameWidget()
|
||||
]
|
||||
.ValueContent()
|
||||
.MinDesiredWidth(250.0f)
|
||||
[
|
||||
SNew(SObjectPropertyEntryBox)
|
||||
.ObjectPath_UObject(this, &UAnimGraphNode_SubInstanceBase::GetCurrentInstanceBlueprintPath)
|
||||
.AllowedClass(UAnimBlueprint::StaticClass())
|
||||
.NewAssetFactories(TArray<UFactory*>())
|
||||
.OnShouldFilterAsset(FOnShouldFilterAsset::CreateUObject(this, &UAnimGraphNode_SubInstanceBase::OnShouldFilterInstanceBlueprint))
|
||||
.OnObjectChanged(FOnSetObject::CreateUObject(this, &UAnimGraphNode_SubInstanceBase::OnSetInstanceBlueprint, &DetailBuilder))
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
void UAnimGraphNode_SubInstanceBase::GenerateExposedPinsDetails(IDetailLayoutBuilder &DetailBuilder)
|
||||
{
|
||||
// We dont allow multi-select here
|
||||
if(DetailBuilder.GetSelectedObjects().Num() > 1)
|
||||
{
|
||||
@@ -323,30 +352,6 @@ void UAnimGraphNode_SubInstanceBase::CustomizeDetails(IDetailLayoutBuilder& Deta
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
IDetailCategoryBuilder& CategoryBuilder = DetailBuilder.EditCategory(FName(TEXT("Settings")));
|
||||
|
||||
// Customize InstanceClass
|
||||
{
|
||||
TSharedRef<IPropertyHandle> ClassHandle = DetailBuilder.GetProperty(TEXT("Node.InstanceClass"), GetClass());
|
||||
ClassHandle->MarkHiddenByCustomization();
|
||||
|
||||
FDetailWidgetRow& ClassWidgetRow = CategoryBuilder.AddCustomRow(LOCTEXT("FilterStringInstanceClass", "Instance Class"));
|
||||
ClassWidgetRow.NameContent()
|
||||
[
|
||||
ClassHandle->CreatePropertyNameWidget()
|
||||
]
|
||||
.ValueContent()
|
||||
.MinDesiredWidth(250.0f)
|
||||
[
|
||||
SNew(SObjectPropertyEntryBox)
|
||||
.ObjectPath_UObject(this, &UAnimGraphNode_SubInstanceBase::GetCurrentInstanceBlueprintPath)
|
||||
.AllowedClass(UAnimBlueprint::StaticClass())
|
||||
.NewAssetFactories(TArray<UFactory*>())
|
||||
.OnShouldFilterAsset(FOnShouldFilterAsset::CreateUObject(this, &UAnimGraphNode_SubInstanceBase::OnShouldFilterInstanceBlueprint))
|
||||
.OnObjectChanged(FOnSetObject::CreateUObject(this, &UAnimGraphNode_SubInstanceBase::OnSetInstanceBlueprint, &DetailBuilder))
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
bool UAnimGraphNode_SubInstanceBase::IsStructuralProperty(UProperty* InProperty) const
|
||||
|
||||
Reference in New Issue
Block a user