You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
Split 'node context' into an 'evaluation context' and a 'node reference' type and updated regular function signatures when creating node functions. This way we can seperate concerns (and potentially reference anim nodes standalone in the future). Moved function caller code into function ref file to stop AnimNodeBase bloat. Fixed functions not being called on root nodes. #rb Jurre.deBaare #ROBOMERGE-SOURCE: CL 16727107 in //UE5/Main/... #ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v835-16672529) [CL 16727111 by thomas sarkanen in ue5-release-engine-test branch]
38 lines
1.5 KiB
C++
38 lines
1.5 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Kismet/BlueprintFunctionLibrary.h"
|
|
#include "Animation/AnimNodeReference.h"
|
|
#include "LinkedAnimGraphLibrary.generated.h"
|
|
|
|
struct FAnimNode_LinkedAnimGraph;
|
|
|
|
USTRUCT(BlueprintType)
|
|
struct FLinkedAnimGraphReference : public FAnimNodeReference
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
typedef FAnimNode_LinkedAnimGraph FInternalNodeType;
|
|
};
|
|
|
|
// Exposes operations to be performed on anim node contexts
|
|
UCLASS()
|
|
class ANIMGRAPHRUNTIME_API ULinkedAnimGraphLibrary : public UBlueprintFunctionLibrary
|
|
{
|
|
GENERATED_BODY()
|
|
|
|
public:
|
|
/** Get a sequence player context from an anim node context */
|
|
UFUNCTION(BlueprintCallable, Category = "Linked Anim Graph", meta=(BlueprintThreadSafe, ExpandEnumAsExecs = "Result"))
|
|
static FLinkedAnimGraphReference ConvertToLinkedAnimGraphContext(const FAnimNodeReference& Node, EAnimNodeReferenceConversionResult& Result);
|
|
|
|
/** Returns whether the node hosts an instance (e.g. linked anim graph or layer) */
|
|
UFUNCTION(BlueprintPure, Category = "Linked Anim Graph", meta=(BlueprintThreadSafe))
|
|
static bool HasLinkedAnimInstance(const FLinkedAnimGraphReference& Node);
|
|
|
|
/** Get the linked instance is hosted by this node. If the node does not host an instance then HasLinkedAnimInstance will return false */
|
|
UFUNCTION(BlueprintPure, Category = "Linked Anim Graph", meta=(BlueprintThreadSafe))
|
|
static UAnimInstance* GetLinkedAnimInstance(const FLinkedAnimGraphReference& Node);
|
|
}; |