// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "Layout/Visibility.h" #include "IPropertyTypeCustomization.h" class FDetailWidgetRow; class IDetailChildrenBuilder; class IPropertyHandle; /** Details customization for FAttributeBasedFloat */ class FAttributeBasedFloatDetails : public IPropertyTypeCustomization { public: static TSharedRef MakeInstance(); /** Overridden to provide the property name or hide, if necessary */ virtual void CustomizeHeader(TSharedRef StructPropertyHandle, FDetailWidgetRow& HeaderRow, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; /** Overridden to allow for possibly being hidden */ virtual void CustomizeChildren(TSharedRef StructPropertyHandle, IDetailChildrenBuilder& StructBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils) override; private: /** Called via delegate to determine visibility of the final channel property */ EVisibility GetFinalChannelVisibility() const; /** Property handle to the AttributeCalculationType property; Used to determine visibility of final channel property */ TSharedPtr AttributeCalculationTypePropertyHandle; };