Files
UnrealEngine/Engine/Source/Runtime/AnimGraphRuntime/Private/LinkedAnimGraphLibrary.cpp
2025-05-18 13:04:45 +08:00

41 lines
1.2 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "LinkedAnimGraphLibrary.h"
#include "Animation/AnimInstance.h"
#include "Animation/AnimNode_LinkedAnimGraph.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(LinkedAnimGraphLibrary)
FLinkedAnimGraphReference ULinkedAnimGraphLibrary::ConvertToLinkedAnimGraph(const FAnimNodeReference& Node, EAnimNodeReferenceConversionResult& Result)
{
return FAnimNodeReference::ConvertToType<FLinkedAnimGraphReference>(Node, Result);
}
bool ULinkedAnimGraphLibrary::HasLinkedAnimInstance(const FLinkedAnimGraphReference& Node)
{
bool bResult = false;
Node.CallAnimNodeFunction<FAnimNode_LinkedAnimGraph>(
TEXT("HasLinkedAnimInstance"),
[&bResult](FAnimNode_LinkedAnimGraph& LinkedAnimGraphNode)
{
bResult = LinkedAnimGraphNode.GetTargetInstance<UAnimInstance>() != nullptr;
});
return bResult;
}
UAnimInstance* ULinkedAnimGraphLibrary::GetLinkedAnimInstance(const FLinkedAnimGraphReference& Node)
{
UAnimInstance* Instance = nullptr;
Node.CallAnimNodeFunction<FAnimNode_LinkedAnimGraph>(
TEXT("GetLinkedAnimInstance"),
[&Instance](FAnimNode_LinkedAnimGraph& LinkedAnimGraphNode)
{
Instance = LinkedAnimGraphNode.GetTargetInstance<UAnimInstance>();
});
return Instance;
}