You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
This represents UE4/Main @ 16261013 and Dev-PerfTest @ 16259937 [CL 16306996 by aurel cordonnier in ue5-main branch]
62 lines
2.0 KiB
C++
62 lines
2.0 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "EntitySystem/IMovieSceneEntityProvider.h"
|
|
#include "EntitySystem/MovieSceneEntitySystemTask.h"
|
|
#include "EntitySystem/BuiltInComponentTypes.h"
|
|
#include "EntitySystem/MovieSceneEntityManager.h"
|
|
|
|
#include "Evaluation/MovieSceneEvaluationField.h"
|
|
|
|
#include "MovieSceneSection.h"
|
|
namespace UE
|
|
{
|
|
namespace MovieScene
|
|
{
|
|
|
|
FGuid FEntityImportParams::GetObjectBindingID() const
|
|
{
|
|
return SharedMetaData ? SharedMetaData->ObjectBindingID : FGuid();
|
|
}
|
|
|
|
FMovieSceneEntityID FImportedEntity::Manufacture(const FEntityImportParams& Params, FEntityManager* EntityManager)
|
|
{
|
|
using namespace MovieScene;
|
|
|
|
FBuiltInComponentTypes* Components = FBuiltInComponentTypes::Get();
|
|
|
|
auto BaseBuilder = FEntityBuilder()
|
|
.AddTag(Components->Tags.NeedsLink)
|
|
.AddTag(Components->Tags.ImportedEntity)
|
|
.AddConditional(Components->RootInstanceHandle, Params.Sequence.RootInstanceHandle, Params.Sequence.RootInstanceHandle.IsValid())
|
|
.AddConditional(Components->InstanceHandle, Params.Sequence.InstanceHandle, Params.Sequence.InstanceHandle.IsValid());
|
|
|
|
FComponentMask NewMask;
|
|
BaseBuilder.GenerateType(EntityManager, NewMask);
|
|
for (TInlineValue<IEntityBuilder>& Builder : Builders)
|
|
{
|
|
Builder->GenerateType(EntityManager, NewMask);
|
|
}
|
|
|
|
FEntityInfo NewEntity = EntityManager->AllocateEntity(NewMask);
|
|
|
|
BaseBuilder.Initialize(EntityManager, NewEntity);
|
|
for (TInlineValue<IEntityBuilder>& Builder : Builders)
|
|
{
|
|
Builder->Initialize(EntityManager, NewEntity);
|
|
}
|
|
|
|
return NewEntity.EntityID;
|
|
}
|
|
|
|
} // namespace MovieScene
|
|
} // namespace UE
|
|
|
|
void IMovieSceneEntityProvider::ImportEntity(UMovieSceneEntitySystemLinker* EntityLinker, const FEntityImportParams& Params, FImportedEntity* OutImportedEntity)
|
|
{
|
|
ImportEntityImpl(EntityLinker, Params, OutImportedEntity);
|
|
}
|
|
|
|
void IMovieSceneEntityProvider::InterrogateEntity(UMovieSceneEntitySystemLinker* EntityLinker, const FEntityImportParams& Params, FImportedEntity* OutImportedEntity)
|
|
{
|
|
InterrogateEntityImpl(EntityLinker, Params, OutImportedEntity);
|
|
} |