Files
henrik karlsson 9a1d5b1ad4 [Engine/Plugins]
* Ran IWYU on ~170 plugins to remove includes not needed. Public api still keep old includes inside #if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2

#preflight 63d09351574ab9cae4670216
#rb none

[CL 23844750 by henrik karlsson in ue5-main branch]
2023-01-25 02:42:36 -05:00

60 lines
1.8 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#pragma once
#include "MovieSceneNameableTrack.h"
#include "Compilation/IMovieSceneTrackTemplateProducer.h"
#include "MovieSceneGeometryCacheTrack.generated.h"
/**
* Handles animation of geometry cache actors
*/
class UGeometryCacheComponent;
UCLASS(MinimalAPI)
class UMovieSceneGeometryCacheTrack
: public UMovieSceneNameableTrack
, public IMovieSceneTrackTemplateProducer
{
GENERATED_UCLASS_BODY()
public:
/** Adds a new animation to this track */
virtual UMovieSceneSection* AddNewAnimation(FFrameNumber KeyTime, UGeometryCacheComponent* GeomCacheComp);
/** Gets the animation sections at a certain time */
TArray<UMovieSceneSection*> GetAnimSectionsAtTime(FFrameNumber Time);
public:
// UMovieSceneTrack interface
virtual void RemoveAllAnimationData() override;
virtual bool HasSection(const UMovieSceneSection& Section) const override;
virtual void AddSection(UMovieSceneSection& Section) override;
virtual void RemoveSection(UMovieSceneSection& Section) override;
virtual void RemoveSectionAt(int32 SectionIndex) override;
virtual bool IsEmpty() const override;
virtual const TArray<UMovieSceneSection*>& GetAllSections() const override;
virtual bool SupportsType(TSubclassOf<UMovieSceneSection> SectionClass) const override;
virtual UMovieSceneSection* CreateNewSection() override;
// ~IMovieSceneTrackTemplateProducer interface
virtual FMovieSceneEvalTemplatePtr CreateTemplateForSection(const UMovieSceneSection& InSection) const override;
#if WITH_EDITORONLY_DATA
virtual FText GetDefaultDisplayName() const override;
#endif
private:
/** List of all animation sections */
UPROPERTY()
TArray<TObjectPtr<UMovieSceneSection>> AnimationSections;
};
#if UE_ENABLE_INCLUDE_ORDER_DEPRECATED_IN_5_2
#include "CoreMinimal.h"
#endif