Files
UnrealEngineUWP/Engine/Source/Developer/RigVMDeveloper/Public/RigVMModel/Nodes/RigVMSelectNode.h
sara schvartzman 6bdfee452f Control Rig: Fix undo delete select node fails
#jira UE-150210
#rb helge.mathee
#preflight 6332e99c1003050806d94067

[CL 22232136 by sara schvartzman in ue5-main branch]
2022-09-28 17:54:41 -04:00

57 lines
1.4 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Containers/UnrealString.h"
#include "Math/Color.h"
#include "RigVMTemplateNode.h"
#include "UObject/NameTypes.h"
#include "UObject/ObjectMacros.h"
#include "UObject/UObjectGlobals.h"
#include "RigVMSelectNode.generated.h"
class UObject;
class URigVMPin;
struct FRigVMTemplate;
/**
* A select node is used to select between multiple values
*/
UCLASS(BlueprintType)
class RIGVMDEVELOPER_API URigVMSelectNode : public URigVMTemplateNode
{
GENERATED_BODY()
public:
// Override from URigVMTemplateNode
virtual FName GetNotation() const override;
virtual const FRigVMTemplate* GetTemplate() const override;
virtual bool IsSingleton() const override { return false; }
// Override from URigVMNode
virtual FString GetNodeTitle() const override { return SelectName; }
virtual FLinearColor GetNodeColor() const override { return FLinearColor::Black; }
protected:
virtual bool AllowsLinksOn(const URigVMPin* InPin) const override;
private:
static const FString SelectName;
static const FString IndexName;
static const FString ValueName;
static const FString ResultName;
friend class URigVMController;
friend class URigVMCompiler;
friend struct FRigVMAddSelectNodeAction;
friend class UControlRigSelectNodeSpawner;
friend class FRigVMParserAST;
friend class FRigVMSelectExprAST;
friend struct FRigVMRemoveNodeAction;
};