// Copyright (c) Samuel Kahn (samuel@kahncode.com). All Rights Reserved. #pragma once #include "CoreMinimal.h" #include "EdGraph/EdGraphNodeUtils.h" #include "K2Node.h" #include "K2Node_BlobOperation.generated.h" UCLASS(Abstract, MinimalAPI) class UK2Node_BlobOperation : public UK2Node { GENERATED_BODY() public: virtual void AllocateDefaultPins() override; void AllocateBehaviorPin(); void AllocateNetContextPin(); virtual bool HasExternalDependencies(TArray* OptionalOutput = nullptr) const override; virtual void ConvertDeprecatedNode(UEdGraph* Graph, bool bOnlySafeChanges) override; virtual FLinearColor GetNodeTitleColor() const override; virtual void ValidateNodeDuringCompilation(class FCompilerResultsLog& aMessageLog) const override; virtual void PreloadRequiredAssets() override; virtual void GetMenuActions(FBlueprintActionDatabaseRegistrar& ActionRegistrar) const override; virtual FText GetMenuCategory() const override; virtual void PostReconstructNode() override; virtual void NotifyPinConnectionListChanged(UEdGraphPin* Pin) override; virtual void ExpandNode(class FKismetCompilerContext& CompilerContext, UEdGraph* SourceGraph) override; protected: UEdGraphPin* GetThenPin() const; UEdGraphPin* GetStructPin() const; UEdGraphPin* GetBlobPin() const; UEdGraphPin* GetBehaviorPin() const; UEdGraphPin* GetNetContextPin() const; void RefreshStructPinType(); /** Class that this variable is defined in. */ UPROPERTY() UScriptStruct* StructType; FNodeTextCache CachedTooltip; FNodeTextCache CachedNodeTitle; };