Files
UnrealEngineUWP/Engine/Source/Developer/RigVMDeveloper/Private/RigVMModel/Nodes/RigVMVariableNode.cpp
Lina Halper 44c1bb3292 COPY from //Dev-Anim to //Dev-Main
#rb: none
#fyi: Laurent.Delayen, Thomas.Sarkanen

[CL 11088765 by Lina Halper in Main branch]
2020-01-22 17:58:55 -05:00

81 lines
1.7 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "RigVMModel/Nodes/RigVMVariableNode.h"
const FString URigVMVariableNode::VariableName = TEXT("Variable");
const FString URigVMVariableNode::ValueName = TEXT("Value");
URigVMVariableNode::URigVMVariableNode()
{
}
FString URigVMVariableNode::GetNodeTitle() const
{
if (IsGetter())
{
return FString::Printf(TEXT("Get %s"), *GetVariableName().ToString());
}
return FString::Printf(TEXT("Set %s"), *GetVariableName().ToString());
}
FName URigVMVariableNode::GetVariableName() const
{
URigVMPin* VariablePin = FindPin(VariableName);
if (VariablePin == nullptr)
{
return NAME_None;
}
return *VariablePin->GetDefaultValue();
}
bool URigVMVariableNode::IsGetter() const
{
URigVMPin* ValuePin = FindPin(ValueName);
if (ValuePin == nullptr)
{
return false;
}
return ValuePin->GetDirection() == ERigVMPinDirection::Output;
}
FString URigVMVariableNode::GetCPPType() const
{
URigVMPin* ValuePin = FindPin(ValueName);
if (ValuePin == nullptr)
{
return FString();
}
return ValuePin->GetCPPType();
}
UObject* URigVMVariableNode::GetCPPTypeObject() const
{
URigVMPin* ValuePin = FindPin(ValueName);
if (ValuePin == nullptr)
{
return nullptr;
}
return ValuePin->GetCPPTypeObject();
}
FString URigVMVariableNode::GetDefaultValue() const
{
URigVMPin* ValuePin = FindPin(ValueName);
if (ValuePin == nullptr)
{
return FString();
}
return ValuePin->GetDefaultValue();
}
FRigVMGraphVariableDescription URigVMVariableNode::GetVariableDescription() const
{
FRigVMGraphVariableDescription Variable;
Variable.Name = GetVariableName();
Variable.CPPType = GetCPPType();
Variable.CPPTypeObject = GetCPPTypeObject();
Variable.DefaultValue = GetDefaultValue();
return Variable;
}