// ©2023 Batty Bovine Productions, LLC. All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "SGraphNode.h" #include "Settings\ComboActionGraphEditorSettings.h" class SEdComboActionGraphNode : public SGraphNode { public: SLATE_BEGIN_ARGS(SEdComboActionGraphNode) {} SLATE_END_ARGS() void Construct(const FArguments &InArgs, class UEdComboActionGraphNode *InNode); virtual void OnMouseEnter(const FGeometry &MyGeometry, const FPointerEvent &MouseEvent) override; virtual void OnMouseLeave(const FPointerEvent &MouseEvent) override; const FSlateBrush *GetIndexBrush() const; virtual void UpdateGraphNode() override; virtual void CreatePinWidgets() override; virtual void AddPin(const TSharedRef &PinToAdd) override; virtual bool IsNameReadOnly() const override; void OnNameTextCommitted(const FText &InText, ETextCommit::Type CommitInfo); virtual const FSlateBrush *GetNodeTypeBrush () const; virtual const FSlateBrush *GetTextNodeTypeBrush () const; virtual FSlateColor GetBorderBackgroundColor() const; virtual FSlateColor GetBorderFrontColor() const; virtual FSlateColor GetNodeTitleBackgroundColor() const; virtual FSlateColor GetDecoratorsBackgroundColor() const; virtual FSlateColor GetPinsDockColor() const; virtual EVisibility GetDragOverMarkerVisibility() const; virtual const FSlateBrush *GetNameIcon() const; virtual const FSlateBrush *GetInheritsImageBrush() const; virtual FSlateColor GetInheritsImageTint() const; const FSlateBrush *GetBulletPointImageBrush() const; virtual FText GetIndexOverlayTooltipText() const; virtual FText GetIndexText() const; EVisibility GetIndexSlotVisibility() const; FVector2D GetIndexSlotOffset() const; FVector2D GetIndexSlotSize() const; virtual void OnIndexHoverStateChanged(bool bArg) const; virtual FSlateColor GetOverlayWidgetBackgroundColor(bool bArg) const; bool HasGraphDecorators() const; bool HasNodeDecorators() const; virtual FText GetDecoratorsText() const; virtual FText GetNumberOfDecorators() const; virtual FText GetDecoratorsInheritanceText() const; EVisibility ShowImplementsOnlySlot_Unified() const; EVisibility ShowInheritsDecoratorsSlot_Unified() const; EVisibility ShowImplementsOnlySlot_Stack() const; EVisibility ShowInheritsDecoratorsSlot_Stack() const; EVisibility ShowAllDecorators() const; EVisibility ShowDecoratorsBottomPadding() const; FSlateColor GetImplementsRowColor() const; FSlateColor GetBulletPointsImagePointColor() const; virtual EComboActionDecoratorsInfoStyle GetDecoratorsStyle() const; EVisibility GetStackVisibility() const; EVisibility GetUnifiedVisibility() const; FText GetTooltipText() const; protected: TSharedPtr NodeBody; TSharedPtr OutputPinBox; class UComboActionGraphEditorSettings *GraphEditorSettings = nullptr; FLinearColor NodeInnerColor; FLinearColor PinsDockColor; };