Files
UnrealEngineUWP/Engine/Source/Developer/RigVMDeveloper/Private/RigVMModel/Nodes/RigVMEnumNode.cpp
Helge Mathee e04ec93397 Control Rig: Move default override infrastructure to also support Bound variable paths (and more stuff in the future)
Adapting the AST parser and compiler to deal with variable bindings on encapsulated nodes

#rb jack.cai
#jira UEA-564

[CL 15134612 by Helge Mathee in ue5-main branch]
2021-01-19 04:57:43 -04:00

56 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "RigVMModel/Nodes/RigVMEnumNode.h"
const FString URigVMEnumNode::EnumName = TEXT("Enum");
const FString URigVMEnumNode::EnumValueName = TEXT("EnumValue");
const FString URigVMEnumNode::EnumIndexName = TEXT("EnumIndex");
URigVMEnumNode::URigVMEnumNode()
{
}
FString URigVMEnumNode::GetNodeTitle() const
{
if(UEnum* Enum = GetEnum())
{
return FString::Printf(TEXT("Enum %s"), *Enum->GetName());
}
return TEXT("Enum");
}
UEnum* URigVMEnumNode::GetEnum() const
{
return Cast<UEnum>(GetCPPTypeObject());
}
FString URigVMEnumNode::GetCPPType() const
{
URigVMPin* EnumValuePin = FindPin(EnumValueName);
if (EnumValuePin == nullptr)
{
return FString();
}
return EnumValuePin->GetCPPType();
}
UObject* URigVMEnumNode::GetCPPTypeObject() const
{
URigVMPin* EnumValuePin = FindPin(EnumValueName);
if (EnumValuePin == nullptr)
{
return nullptr;
}
return EnumValuePin->GetCPPTypeObject();
}
FString URigVMEnumNode::GetDefaultValue(const URigVMPin::FPinOverride& InOverride) const
{
URigVMPin* EnumValuePin = FindPin(EnumValueName);
if (EnumValuePin == nullptr)
{
return FString();
}
return EnumValuePin->GetDefaultValue(InOverride);
}