Files
UnrealEngineUWP/Engine/Source/Runtime/LiveLinkAnimationCore/Private/LiveLinkInstance.cpp
marc audy 311f7464bf Updated ../Engine/Source/Runtime/... to inline gen.cpp files
Before:
3648 unity files
Total CPU Time: 47886.140625 s
Total time in Parallel executor: 498.81 seconds

After:
3548 unity files
Total CPU Time: 46643.828125 s
Total time in Parallel executor: 486.06 seconds

#jira
#preflight

[CL 22173263 by marc audy in ue5-main branch]
2022-09-24 13:57:58 -04:00

55 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "LiveLinkInstance.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(LiveLinkInstance)
void FLiveLinkInstanceProxy::Initialize(UAnimInstance* InAnimInstance)
{
FAnimInstanceProxy::Initialize(InAnimInstance);
// initialize node manually
FAnimationInitializeContext InitContext(this);
PoseNode.Initialize_AnyThread(InitContext);
}
void FLiveLinkInstanceProxy::PreUpdate(UAnimInstance* InAnimInstance, float DeltaSeconds)
{
Super::PreUpdate(InAnimInstance, DeltaSeconds);
if (PoseNode.HasPreUpdate())
{
PoseNode.PreUpdate(InAnimInstance);
}
}
bool FLiveLinkInstanceProxy::Evaluate(FPoseContext& Output)
{
PoseNode.Evaluate_AnyThread(Output);
return true;
}
void FLiveLinkInstanceProxy::UpdateAnimationNode(const FAnimationUpdateContext& InContext)
{
UpdateCounter.Increment();
PoseNode.Update_AnyThread(InContext);
if(ULiveLinkInstance* Instance = Cast<ULiveLinkInstance>(GetAnimInstanceObject()))
{
Instance->CurrentRetargetAsset = PoseNode.CurrentRetargetAsset; //Cache for GC
}
}
FAnimInstanceProxy* ULiveLinkInstance::CreateAnimInstanceProxy()
{
return new FLiveLinkInstanceProxy(this);
}
void ULiveLinkInstance::DestroyAnimInstanceProxy(FAnimInstanceProxy* InProxy)
{
Super::DestroyAnimInstanceProxy(InProxy);
CurrentRetargetAsset = nullptr;
}