Files
2025-05-18 13:04:45 +08:00

44 lines
1.5 KiB
C

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "Evaluation/MovieSceneEvalTemplate.h"
#include "MovieSceneGeometryCacheSection.h"
#include "MovieSceneGeometryCacheTemplate.generated.h"
USTRUCT()
struct FMovieSceneGeometryCacheSectionTemplateParameters : public FMovieSceneGeometryCacheParams
{
GENERATED_BODY()
FMovieSceneGeometryCacheSectionTemplateParameters() {}
FMovieSceneGeometryCacheSectionTemplateParameters(const FMovieSceneGeometryCacheParams& BaseParams, FFrameNumber InSectionStartTime, FFrameNumber InSectionEndTime)
: FMovieSceneGeometryCacheParams(BaseParams)
, SectionStartTime(InSectionStartTime)
, SectionEndTime(InSectionEndTime)
{}
float MapTimeToAnimation(float ComponentDuration, FFrameTime InPosition, FFrameRate InFrameRate) const;
UPROPERTY()
FFrameNumber SectionStartTime;
UPROPERTY()
FFrameNumber SectionEndTime;
};
USTRUCT()
struct FMovieSceneGeometryCacheSectionTemplate : public FMovieSceneEvalTemplate
{
GENERATED_BODY()
FMovieSceneGeometryCacheSectionTemplate() {}
FMovieSceneGeometryCacheSectionTemplate(const UMovieSceneGeometryCacheSection& Section);
virtual UScriptStruct& GetScriptStructImpl() const override { return *StaticStruct(); }
virtual void Evaluate(const FMovieSceneEvaluationOperand& Operand, const FMovieSceneContext& Context, const FPersistentEvaluationData& PersistentData, FMovieSceneExecutionTokens& ExecutionTokens) const override;
UPROPERTY()
FMovieSceneGeometryCacheSectionTemplateParameters Params;
};