#pragma once #include "CoreMinimal.h" #include "Styling/SlateColor.h" #include "Widgets/DeclarativeSyntaxSupport.h" #include "Widgets/SWidget.h" #include "SNodePanel.h" #include "SGraphNode.h" class SEdComboActionGraphEdge : public SGraphNode { public: SLATE_BEGIN_ARGS(SEdComboActionGraphEdge){} SLATE_END_ARGS() void Construct(const FArguments &InArgs, class UEdComboActionGraphEdge *InNode); virtual bool RequiresSecondPassLayout() const override; virtual void PerformSecondPassLayout(const TMap > &NodeToWidgetLookup) const override; virtual void UpdateGraphNode() override; // Calculate position for multiple nodes to be placed between a start and end point, by providing this nodes index and max expected nodes void PositionBetweenTwoNodesWithOffset(const FGeometry &StartGeom, const FGeometry &EndGeom, int32 NodeIndex, int32 MaxNodes) const; protected: FSlateColor GetEdgeColor() const; private: TSharedPtr TextEntryWidget; };