60 lines
1.7 KiB
C++
60 lines
1.7 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Modules/ModuleManager.h"
|
|
#include "IMovieSceneModule.h"
|
|
#include "IMovieSceneTracksModule.h"
|
|
#include "Components/SceneComponent.h"
|
|
#include "Systems/MovieScene3DTransformPropertySystem.h"
|
|
|
|
#include "EntitySystem/MovieSceneEntityManager.h"
|
|
#include "Systems/MovieSceneMaterialSystem.h"
|
|
#include "MovieSceneTracksComponentTypes.h"
|
|
|
|
|
|
DEFINE_STAT(MovieSceneEval_ReinitializeBoundMaterials);
|
|
|
|
/**
|
|
* Implements the MovieSceneTracks module.
|
|
*/
|
|
class FMovieSceneTracksModule
|
|
: public IMovieSceneTracksModule
|
|
{
|
|
|
|
virtual void StartupModule() override
|
|
{
|
|
IMovieSceneModule& MovieSceneModule = IMovieSceneModule::Get();
|
|
|
|
MovieSceneModule.RegisterEvaluationGroupParameters(
|
|
IMovieSceneTracksModule::GetEvaluationGroupName(EBuiltInEvaluationGroup::PreEvaluation),
|
|
FMovieSceneEvaluationGroupParameters(0x8FFF));
|
|
|
|
MovieSceneModule.RegisterEvaluationGroupParameters(
|
|
IMovieSceneTracksModule::GetEvaluationGroupName(EBuiltInEvaluationGroup::SpawnObjects),
|
|
FMovieSceneEvaluationGroupParameters(0x0FFF));
|
|
|
|
MovieSceneModule.RegisterEvaluationGroupParameters(
|
|
IMovieSceneTracksModule::GetEvaluationGroupName(EBuiltInEvaluationGroup::PostEvaluation),
|
|
FMovieSceneEvaluationGroupParameters(0x0008));
|
|
|
|
UE::MovieScene::FMovieSceneTracksComponentTypes::Get();
|
|
}
|
|
|
|
virtual void ShutdownModule() override
|
|
{
|
|
}
|
|
};
|
|
|
|
FName IMovieSceneTracksModule::GetEvaluationGroupName(EBuiltInEvaluationGroup::Type InEvalGroup)
|
|
{
|
|
static FName Names[] = {
|
|
"PreEvaluation",
|
|
"SpawnObjects",
|
|
"PostEvaluation",
|
|
};
|
|
check(InEvalGroup >= 0 && InEvalGroup < UE_ARRAY_COUNT(Names));
|
|
return Names[InEvalGroup];
|
|
}
|
|
|
|
IMPLEMENT_MODULE(FMovieSceneTracksModule, MovieSceneTracks);
|