// Copyright Epic Games, Inc. All Rights Reserved. #include "Systems/MovieSceneVectorPropertySystem.h" #include "EntitySystem/MovieSceneBoundObjectInstantiator.h" #include "EntitySystem/MovieSceneDecompositionQuery.h" #include "EntitySystem/MovieSceneEntitySystemTypes.h" #include "EntitySystem/MovieScenePreAnimatedPropertyHelper.h" #include "MovieSceneTracksComponentTypes.h" #include "Systems/FloatChannelEvaluatorSystem.h" #include "Systems/MovieScenePiecewiseFloatBlenderSystem.h" #include "Systems/MovieScenePropertyInstantiator.h" UMovieSceneVectorPropertySystem::UMovieSceneVectorPropertySystem(const FObjectInitializer& ObjInit) : Super(ObjInit) { SystemExclusionContext |= UE::MovieScene::EEntitySystemContext::Interrogation; BindToProperty(UE::MovieScene::FMovieSceneTracksComponentTypes::Get()->Vector); if (HasAnyFlags(RF_ClassDefaultObject)) { // We need our floats correctly evaluated and blended, so we are downstream from those systems. DefineImplicitPrerequisite(UFloatChannelEvaluatorSystem::StaticClass(), GetClass()); DefineImplicitPrerequisite(UMovieScenePiecewiseFloatBlenderSystem::StaticClass(), GetClass()); } } void UMovieSceneVectorPropertySystem::OnRun(FSystemTaskPrerequisites& InPrerequisites, FSystemSubsequentTasks& Subsequents) { Super::OnRun(InPrerequisites, Subsequents); }