Files
UnrealEngine/Engine/Source/Runtime/MovieSceneTracks/Private/Evaluation/MovieSceneActorReferenceTemplate.h
2025-05-18 13:04:45 +08:00

45 lines
1.3 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "Evaluation/MovieSceneEvalTemplate.h"
#include "Evaluation/MovieScenePropertyTemplate.h"
#include "Sections/MovieSceneActorReferenceSection.h"
#include "MovieSceneActorReferenceTemplate.generated.h"
class UMovieScenePropertyTrack;
USTRUCT()
struct FMovieSceneActorReferenceSectionTemplate : public FMovieSceneEvalTemplate
{
GENERATED_BODY()
FMovieSceneActorReferenceSectionTemplate(){}
FMovieSceneActorReferenceSectionTemplate(const UMovieSceneActorReferenceSection& Section, const UMovieScenePropertyTrack& Track);
private:
virtual UScriptStruct& GetScriptStructImpl() const override
{
return *StaticStruct();
}
virtual void SetupOverrides() override
{
EnableOverrides(RequiresSetupFlag);
}
virtual void Setup(FPersistentEvaluationData& PersistentData, IMovieScenePlayer& Player) const override
{
PropertyData.SetupTrack(PersistentData);
}
virtual void Evaluate(const FMovieSceneEvaluationOperand& Operand, const FMovieSceneContext& Context, const FPersistentEvaluationData& PersistentData, FMovieSceneExecutionTokens& ExecutionTokens) const override;
UPROPERTY()
FMovieScenePropertySectionData PropertyData;
UPROPERTY()
FMovieSceneActorReferenceData ActorReferenceData;
};