Files
UnrealEngineUWP/Engine/Source/Editor/AnimGraph/Private/AnimGraphNode_Root.cpp
Michael Schoell 0a41fb741e #summary Can search for nodes in the palette menu in Blueprints with both the native name and the localized name.
#add Added UEdGraphNode::GetNodeNativeTitle to return a native title for a node.
#add Added UEdGraphNode::GetNodeSearchTitle to return the native and localized title for a node, together, for searching.
#add Can hold "alt" over a node (in the graph panel, or the palette) to see the native name of the node.

#ttp 331252 - Blueprints: Editor: L10N: Blueprints need to consistently show localized node names and when searching need to search both the localized name and the native name

#codereview justin.sargent

[CL 2044506 by Michael Schoell in Main branch]
2014-04-23 18:30:37 -04:00

74 lines
2.0 KiB
C++

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#include "AnimGraphPrivatePCH.h"
/////////////////////////////////////////////////////
// FPoseLinkMappingRecord
void FPoseLinkMappingRecord::PatchLinkIndex(uint8* DestinationPtr, int32 LinkID, int32 SourceLinkID) const
{
checkSlow(IsValid());
DestinationPtr = ChildProperty->ContainerPtrToValuePtr<uint8>(DestinationPtr);
if (ChildPropertyIndex != INDEX_NONE)
{
UArrayProperty* ArrayProperty = CastChecked<UArrayProperty>(ChildProperty);
FScriptArrayHelper ArrayHelper(ArrayProperty, DestinationPtr);
check(ArrayHelper.IsValidIndex(ChildPropertyIndex));
DestinationPtr = ArrayHelper.GetRawPtr(ChildPropertyIndex);
}
// Check to guard against accidental infinite loops
check((LinkID == INDEX_NONE) || (LinkID != SourceLinkID));
// Patch the pose link
FPoseLinkBase& PoseLink = *((FPoseLinkBase*)DestinationPtr);
PoseLink.LinkID = LinkID;
PoseLink.SourceLinkID = SourceLinkID;
}
/////////////////////////////////////////////////////
// UAnimGraphNode_Root
#define LOCTEXT_NAMESPACE "A3Nodes"
UAnimGraphNode_Root::UAnimGraphNode_Root(const FPostConstructInitializeProperties& PCIP)
: Super(PCIP)
{
}
FLinearColor UAnimGraphNode_Root::GetNodeTitleColor() const
{
return GEditor->AccessEditorUserSettings().ResultNodeTitleColor;
}
FText UAnimGraphNode_Root::GetNodeTitle(ENodeTitleType::Type TitleType) const
{
return LOCTEXT("AnimGraphNodeRoot_Title", "Final Animation Pose");
}
FString UAnimGraphNode_Root::GetTooltip() const
{
return LOCTEXT("AnimGraphNodeRoot_Tooltip", "Wire the final animation pose into this node").ToString();
}
bool UAnimGraphNode_Root::IsSinkNode() const
{
return true;
}
void UAnimGraphNode_Root::GetMenuEntries(FGraphContextMenuBuilder& ContextMenuBuilder) const
{
// Intentionally empty. This node is autogenerated when a new graph is created.
}
FString UAnimGraphNode_Root::GetDocumentationLink() const
{
return TEXT("Shared/GraphNodes/AnimationStateMachine");
}
#undef LOCTEXT_NAMESPACE