Files
UnrealEngine/Engine/Source/Editor/AnimationBlueprintLibrary/Public/K2_AnimationAttributeNodes.h
2025-05-18 13:04:45 +08:00

84 lines
2.0 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "EdGraph/EdGraphNode.h"
#include "Internationalization/Text.h"
#include "K2Node_CallFunction.h"
#include "UObject/NameTypes.h"
#include "UObject/ObjectMacros.h"
#include "UObject/UObjectGlobals.h"
#include "UObject/UnrealNames.h"
#include "K2_AnimationAttributeNodes.generated.h"
class FBlueprintActionDatabaseRegistrar;
class FString;
class UEdGraph;
class UEdGraphPin;
class UObject;
/** Base node implementation to reduce duplicated behaviour for different BlueprintLibrary functions */
UCLASS(abstract)
class UK2Node_BaseAttributeActionNode : public UK2Node_CallFunction
{
GENERATED_BODY()
public:
UK2Node_BaseAttributeActionNode() {}
//~ Begin UEdGraphNode Interface.
virtual FText GetNodeTitle(ENodeTitleType::Type TitleType) const override;
//~ End UEdGraphNode Interface.
//~ Begin UK2Node Interface
virtual void GetMenuActions(FBlueprintActionDatabaseRegistrar& ActionRegistrar) const override;
virtual bool IsConnectionDisallowed(const UEdGraphPin* MyPin, const UEdGraphPin* OtherPin, FString& OutReason) const override;
//~ End UK2Node Interface
protected:
//~ Begin UK2Node_CallFunction interface
virtual bool CanToggleNodePurity() const override { return false; }
//~ End UK2Node_CallFunction interface
FName AttributeValuePinName = NAME_None;
FText AttributeActionFormat;
static FName ValuePinName;
static FName ValuesPinName;
};
UCLASS()
class UK2Node_SetAttributeKeyGeneric : public UK2Node_BaseAttributeActionNode
{
GENERATED_BODY()
public:
UK2Node_SetAttributeKeyGeneric();
};
UCLASS()
class UK2Node_SetAttributeKeysGeneric : public UK2Node_BaseAttributeActionNode
{
GENERATED_BODY()
public:
UK2Node_SetAttributeKeysGeneric();
};
UCLASS()
class UK2Node_GetAttributeKeyGeneric : public UK2Node_BaseAttributeActionNode
{
GENERATED_BODY()
public:
UK2Node_GetAttributeKeyGeneric();
};
UCLASS()
class UK2Node_GetAttributeKeysGeneric : public UK2Node_BaseAttributeActionNode
{
GENERATED_BODY()
public:
UK2Node_GetAttributeKeysGeneric();
};