| FUObjectArray::FUObjectDeleteListener
|
Module |
|
Header |
/Engine/Source/Runtime/MovieScene/Public/EntitySystem/MovieSceneEntityManager.h |
Include |
#include "EntitySystem/MovieSceneEntityManager.h" |
class FEntityManager : public FUObjectArray::FUObjectDeleteListener
Top-level manager class that is responsible for all entity data and interaction/
An entity is a stable index into the manager's EntityLocations, which defines the location for that entity's data. This allows the manager to relocate entity data at will without invalidating client held entity IDs. An entity may contain 0 or more components. Components are concrete pieces of data with a unique type identifier. Additionally, tags can be added to entities or whole batches of entities with zero memory overhead.
Entity Component data is stored in allocations organized by each unique combination of components. Each component type is stored as a contiguous array within each allocation, with each entity's component being a fixed offset from the start of each component array. This enables efficient read/write access into specific component arrays and makes issuing parallel tasks that require component data trivial. See FEntityAllocation for a more detailed explanation of entity component data layout.
Name | Description | |
---|---|---|
|
FEntityManager() |
|
|
FEntityManager ( |
|
|
FEntityManager ( |
Name | Description | |
---|---|---|
|
~FEntityManager() |
Name | Description | ||
---|---|---|---|
|
AccumulateMask ( |
Accumulate a mask from all entity types that match the specified filter |
|
|
AddChild ( |
Set up an entity to be a child of another. |
|
|
AddComponent ( |
Add the specified component value to an entity |
|
|
AddComponent ( |
Add the specified component value to an entity |
|
|
AddComponent ( |
Add the specified component type to an entity. The component value will be default-initialized. |
|
|
AddComponents ( |
Add the specified components to an entity. |
|
|
AddComponents ( |
Add the specified components to an entity. |
|
|
AddMutualComponents() |
Run through all entities in this entity manager, ensuring that all mutual components exist |
|
|
AddReferencedObjects ( |
Explicitly add referenced objects from an external source. |
|
|
FEntityDataL... |
AllocateContiguousEntities ( |
Attempt to allocate a number of entities of the same type contiguously in memory @note May allocate fewer than the desired number due to allocation capacity constraints. |
|
AllocateEntity ( |
Allocate a single entity with the specified components allocated components and tags. |
|
|
FMovieSceneE... |
AllocateEntity() |
Allocate a new entity with no components |
|
ChangeEntityType ( |
Changes the components that exist on an entity to a new mask |
|
|
CheckCanChangeStructure() |
||
|
CombineComponents ( |
Combine the components from one entity into another, overwriting any pre-existing component values. |
|
|
Compact() |
Goes through all entity data and compacts like-for-like allocations into as few allocations as possible, resulting in the optimal data layout |
|
|
Contains ( |
Efficiently test whether this entity manager contains any allocations that match the specified filter |
|
|
ContainsAllComponents ( |
Check whether all of the specified components exist anywhere in this entity manager @note Does not check whether the components exist on the same entity, just that they are present in the manager. |
|
|
ContainsAnyComponent ( |
Check whether any entity in this manager has any of the specified components |
|
|
ContainsComponent ( |
Check whether any entity in this manager has the specified component |
|
|
CopyComponent ( |
Copy the specified component type from an entity if it exists. |
|
|
CopyComponents ( |
Copy any and all the specified component types from one entity onto another. |
|
|
CountMemory ( |
Run a serialization routine over the specified entity to approximate the memory it is using @note Does not consider per-allocation overhead such as header sizes and other per-allocation meta-data |
|
|
DefineInstancedChildInitializer |
Defines a new child initializer that applies only to entities factoried within this entity manager |
|
|
Destroy() |
Destroy this entity manager and all the entities and components contained within it, resetting it back to its default state |
|
|
DestroyInstancedChildInitializer ( |
Destroy a previously registered instanced child initializer using its index |
|
|
FMovieSceneE... |
DuplicateEntity ( |
Duplicate an entity, by creating an exact copy with a new ID |
|
EnterIteration() |
Efficiently test whether this entity manager contains any allocations that match the specified filter |
|
|
ExitIteration() |
||
|
FilterComponents ( |
Remove all but the specified components from an entity. |
|
|
IComponentTy... |
FindComponentTypeHandler ( |
Find a component type hander from its registered GUID |
|
FreeEntities ( |
Free all entities that match the specified filter |
|
|
FreeEntities ( |
Free all entities defined by the specified operation |
|
|
FreeEntity ( |
Free an entity and relinquish its entity ID |
|
|
const FCompo... |
GetAccumulatedMask() |
Retrieve an up-to-date accumulation of all components present on entities in this manager |
|
GetChildren_ParentFirst ( |
Retrieve all children, grandchildren etc of the specified entity using a parent first traversal @note the array will not be emptied by this function - that is the responsibility of the callee, if desired. |
|
|
FComponentRe... |
GetComponents() |
|
|
ENamedThread... |
GetDispatchThread() |
|
|
GetEntity ( |
Retrieve an entity's allocation and component offset from its ID |
|
|
FEntityHandl... |
GetEntityHandle ( |
Retrieve a handle to an entity |
|
FComponentMa... |
GetEntityType ( |
Retrieve the type mask for this component |
|
ENamedThread... |
GetGatherThread() |
|
|
const FEntit... |
GetGlobalIterationFilter() |
Retrieve the entity filter that should be used for any entity iteration. |
|
GetHandleGeneration() |
||
|
GetImmediateChildren ( |
Retrieve the immediate children of the specified entity @note the array will not be emptied by this function - that is the responsibility of the callee, if desired. |
|
|
GetSystemSerial() |
Get the current serial number for any system ovserving this entity manager. |
|
|
EEntityThrea... |
GetThreadingModel() |
Compute and retrieve this entity manager's threading model |
|
HasComponent ( |
Check whether the specified component has a component of the specified type |
|
|
HasStructureChangedSince ( |
Check whether the structure of this entity manager has changed at all since the specified serial number |
|
|
IncrementSystemSerial() |
Increment the current serial number for systems observing this manager. |
|
|
InitializeChildAllocation ( |
Runs all initializers for the specified parent/child allocation |
|
|
InitializeMutualComponents ( |
Initialize a single entity using the mutual initializers |
|
|
IsAllocated ( |
Check whether an entity is allocated. |
|
|
IsHandleValid ( |
Check whether the specified entity handle is still valid |
|
|
IsLockedDown() |
||
|
FEntityAlloc... |
Iterate ( |
Iterate through all the allocations that match the specified component filter |
|
IterateChildren_ParentFirst ( |
Iterate all children, grandchildren etc of the specified entity using a parent first traversal |
|
|
IterateImmediateChildren ( |
Itereate the immediate children of the specified entity @note the array will not be emptied by this function - that is the responsibility of the callee, if desired. |
|
|
LockDown() |
||
|
MimicStructureChanged() |
Called in order to mimic the entity structure changing, even if it has not |
|
|
FEntityCompo... |
ModifyGlobalIterationFilter() |
Modify the entity filter that should be used for any entity iteration. |
|
MutateAll ( |
Efficiently mutate all entities that match a filter. |
|
|
OverwriteEntityWithDuplicate ( |
Duplicate an entity over the top of an existing entity ID |
|
|
TComponentLo... |
ReadComponent ( |
Attempt to read a component from an entity. |
|
T |
ReadComponentChecked ( |
Read a component value from an entity that is known to exist. |
|
ReleaseLockDown() |
||
|
RemoveComponent ( |
Remove the specified component type from an entity if it exists. |
|
|
RemoveComponent ( |
Remove the specified component type from an entity if it exists. |
|
|
RemoveComponents ( |
Remove the specified components from an entity, if they exist. |
|
|
RemoveComponents ( |
Remove the specified components from an entity, if they exist. |
|
|
ReplaceEntityID ( |
Replace an entity ID with the components from another, discarding the provided entity ID in the process |
|
|
SetComponentRegistry ( |
||
|
SetDebugName ( |
Set a debug name for this entity manager |
|
|
SetDispatchThread ( |
||
|
SetGatherThread ( |
||
|
TouchEntity ( |
Touch the specified entity, cause the allocation and component serial numbers to be incremented. |
|
|
TComponentLo... |
WriteComponent ( |
Attempt to write to an entity's component. |
|
WriteComponentChecked ( |
Write a component value that is known to exist to an entity. |
Name | Description | ||
---|---|---|---|
|
operator= ( |
||
|
operator= ( |
Name |
Description |
|
---|---|---|
|
ELockdownState |