2020-09-24 00:43:27 -04:00
|
|
|
// 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();
|
|
|
|
|
}
|
|
|
|
|
|
2021-01-19 04:57:43 -04:00
|
|
|
FString URigVMEnumNode::GetDefaultValue(const URigVMPin::FPinOverride& InOverride) const
|
2020-09-24 00:43:27 -04:00
|
|
|
{
|
|
|
|
|
URigVMPin* EnumValuePin = FindPin(EnumValueName);
|
|
|
|
|
if (EnumValuePin == nullptr)
|
|
|
|
|
{
|
|
|
|
|
return FString();
|
|
|
|
|
}
|
2021-01-19 04:57:43 -04:00
|
|
|
return EnumValuePin->GetDefaultValue(InOverride);
|
2020-09-24 00:43:27 -04:00
|
|
|
}
|