Files
ProjectEleri/Plugins/PaperZD/Source/PaperZDEditor/Private/Graphs/PaperZDAnimTransitionGraphSchema.cpp

57 lines
2.1 KiB
C++
Raw Normal View History

2026-07-11 10:43:52 +02:00
// Copyright 2017 ~ 2022 Critical Failure Studio Ltd. All rights reserved.
#include "Graphs/PaperZDAnimTransitionGraphSchema.h"
#include "Graphs/PaperZDAnimTransitionGraph.h"
#include "Graphs/Nodes/PaperZDTransitionGraphNode_Result.h"
#include "Graphs/Nodes/PaperZDStateGraphNode_Transition.h"
#include "Graphs/Nodes/PaperZDStateGraphNode_Conduit.h"
#if ZD_VERSION_INLINED_CPP_SUPPORT
#include UE_INLINE_GENERATED_CPP_BY_NAME(PaperZDAnimTransitionGraphSchema)
#endif
#define LOCTEXT_NAMESPACE "PaperZDAnimGraphSchema"
UPaperZDAnimTransitionGraphSchema::UPaperZDAnimTransitionGraphSchema(const FObjectInitializer& ObjectInitializer)
: Super()
{
}
void UPaperZDAnimTransitionGraphSchema::CreateDefaultNodesForGraph(UEdGraph& Graph) const
{
FGraphNodeCreator<UPaperZDTransitionGraphNode_Result> NodeCreator(Graph);
UPaperZDTransitionGraphNode_Result* ResultSinkNode = NodeCreator.CreateNode();
NodeCreator.Finalize();
SetNodeMetaData(ResultSinkNode, FNodeMetadata::DefaultGraphNode);
}
bool UPaperZDAnimTransitionGraphSchema::CreateAutomaticConversionNodeAndConnections(UEdGraphPin* PinA, UEdGraphPin* PinB) const
{
return false;
}
void UPaperZDAnimTransitionGraphSchema::GetGraphDisplayInformation(const UEdGraph& Graph, FGraphDisplayInfo& DisplayInfo) const
{
DisplayInfo.PlainName = FText::FromString(Graph.GetName());
const UPaperZDStateGraphNode_TransBase* TransNode = Cast<const UPaperZDStateGraphNode_TransBase>(Graph.GetOuter());
if (TransNode)
{
if (TransNode->IsA(UPaperZDStateGraphNode_Transition::StaticClass()))
{
FFormatNamedArguments Args;
Args.Add(TEXT("NodeTitle"), TransNode->GetNodeTitle(ENodeTitleType::FullTitle));
DisplayInfo.PlainName = FText::Format(NSLOCTEXT("PaperZD", "TransitionRuleGraphTitle", "{NodeTitle} (rule)"), Args);
}
else if (TransNode->IsA(UPaperZDStateGraphNode_Conduit::StaticClass()))
{
FFormatNamedArguments Args;
Args.Add(TEXT("NodeTitle"), TransNode->GetNodeTitle(ENodeTitleType::FullTitle));
DisplayInfo.PlainName = FText::Format(NSLOCTEXT("PaperZD", "ConduitRuleGraphTitle", "{NodeTitle} (conduit rule)"), Args);
}
}
DisplayInfo.DisplayName = DisplayInfo.PlainName;
}
#undef LOCTEXT_NAMESPACE