// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "ChaosClothAsset/ImportedValueCustomization.h" namespace UE::Chaos::ClothAsset { /** * Customization for all connectable property that could be imported * Works like a FMathStructCustomization. */ class FConnectableValueCustomization : public FImportedValueCustomization { public: static TSharedRef MakeInstance(); FConnectableValueCustomization(); virtual ~FConnectableValueCustomization() override; protected: //~ Begin IPropertyTypeCustomization implementation virtual void CustomizeChildren( TSharedRef PropertyHandle, IDetailChildrenBuilder& ChildBuilder, IPropertyTypeCustomizationUtils& CustomizationUtils) override; //~ End IPropertyTypeCustomization implementation //~ Begin FMathStructCustomization implementation virtual void MakeHeaderRow(TSharedRef& StructPropertyHandle, FDetailWidgetRow& Row) override; virtual TSharedRef MakeChildWidget(TSharedRef& StructurePropertyHandle, TSharedRef& PropertyHandle) override; //~ End FMathStructCustomization implementation UE_DEPRECATED(5.5, "Override properties are no longer used.") static bool IsOverrideProperty(const TSharedPtr& Property); UE_DEPRECATED(5.5, "Override properties are no longer used.") static bool IsOverridePropertyOf(const TSharedPtr& OverrideProperty, const TSharedPtr& Property); static bool BuildFabricMapsProperty(const TSharedPtr& Property); static bool CouldUseFabricsProperty(const TSharedPtr& Property); }; }