// Copyright Epic Games, Inc. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "K2Node.h" class UEdGraphPin; class UAnimGraphNode_CustomProperty; struct FCustomPropertyOptionalPinManager : public FOptionalPinManager { protected: UAnimGraphNode_CustomProperty* CustomPropertyNode; TArray* OldPins; public: FCustomPropertyOptionalPinManager(UAnimGraphNode_CustomProperty* InCustomPropertyNode, TArray* InOldPins); /** FOptionalPinManager interface */ virtual void GetRecordDefaults(FProperty* TestProperty, FOptionalPinFromProperty& Record) const override; virtual bool CanTreatPropertyAsOptional(FProperty* TestProperty) const override; virtual void CustomizePinData(UEdGraphPin* Pin, FName SourcePropertyName, int32 ArrayIndex, FProperty* Property) const override; void CreateCustomPins(UClass* TargetClass); };