Files
UnrealEngine/Engine/Source/Developer/FunctionalTesting/Private/DelayForFramesLatentAction.cpp
2025-05-18 13:04:45 +08:00

29 lines
840 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "DelayForFramesLatentAction.h"
#include "Engine/LatentActionManager.h"
FDelayForFramesLatentAction::FDelayForFramesLatentAction(const FLatentActionInfo& LatentInfo, int32 NumFrames)
: ExecutionFunction(LatentInfo.ExecutionFunction)
, OutputLink(LatentInfo.Linkage)
, CallbackTarget(LatentInfo.CallbackTarget)
, FramesRemaining(NumFrames)
{
}
FDelayForFramesLatentAction::~FDelayForFramesLatentAction()
{
}
void FDelayForFramesLatentAction::UpdateOperation(FLatentResponse& Response)
{
--FramesRemaining;
Response.FinishAndTriggerIf(FramesRemaining <= 0, ExecutionFunction, OutputLink, CallbackTarget);
}
#if WITH_EDITOR
FString FDelayForFramesLatentAction::GetDescription() const
{
return FString::Printf(TEXT("Delay (%d frames remaining)"), FramesRemaining);
}
#endif