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

46 lines
1.6 KiB
C

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "UObject/ObjectMacros.h"
#include "Evaluation/MovieSceneEvalTemplate.h"
#include "MovieSceneGeometryCollectionSection.h"
#include "MovieSceneGeometryCollectionTemplate.generated.h"
USTRUCT()
struct FMovieSceneGeometryCollectionSectionTemplateParameters : public FMovieSceneGeometryCollectionParams
{
GENERATED_BODY()
FMovieSceneGeometryCollectionSectionTemplateParameters() {}
FMovieSceneGeometryCollectionSectionTemplateParameters(const FMovieSceneGeometryCollectionParams& BaseParams, FFrameNumber InSectionStartTime, FFrameNumber InSectionEndTime)
: FMovieSceneGeometryCollectionParams(BaseParams)
, SectionStartTime(InSectionStartTime)
, SectionEndTime(InSectionEndTime)
{}
float MapTimeToAnimation(FFrameTime InPosition, FFrameRate InFrameRate) const;
UPROPERTY()
FFrameNumber SectionStartTime;
UPROPERTY()
FFrameNumber SectionEndTime;
};
USTRUCT()
struct FMovieSceneGeometryCollectionSectionTemplate : public FMovieSceneEvalTemplate
{
GENERATED_BODY()
FMovieSceneGeometryCollectionSectionTemplate() {}
FMovieSceneGeometryCollectionSectionTemplate(const UMovieSceneGeometryCollectionSection& 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()
FMovieSceneGeometryCollectionSectionTemplateParameters Params;
};