Struct EntityCommandBuffer
A thread-safe command buffer that can buffer commands that affect entities and components for later playback.
Syntax
[NativeContainer]
[GenerateBurstMonoInterop("EntityCommandBuffer")]
public struct EntityCommandBuffer : IDisposable
Constructors
EntityCommandBuffer(Allocator)
Creates a new command buffer.
Declaration
public EntityCommandBuffer(Allocator label)
Parameters
Type |
Name |
Description |
Allocator |
label |
Memory allocator to use for chunks and data
|
EntityCommandBuffer(Allocator, PlaybackPolicy)
Creates a new command buffer.
Declaration
public EntityCommandBuffer(Allocator label, PlaybackPolicy playbackPolicy)
Parameters
Type |
Name |
Description |
Allocator |
label |
Memory allocator to use for chunks and data
|
PlaybackPolicy |
playbackPolicy |
Specifies if the EntityCommandBuffer can be played a single time or more than once.
|
Properties
IsCreated
Declaration
public bool IsCreated { get; }
Property Value
MinimumChunkSize
Allows controlling the size of chunks allocated from the temp job allocator to back the command buffer.
Declaration
public int MinimumChunkSize { get; set; }
Property Value
ShouldPlayback
Controls whether this command buffer should play back.
Declaration
public bool ShouldPlayback { get; set; }
Property Value
Methods
AddBuffer<T>(Entity)
Declaration
public DynamicBuffer<T> AddBuffer<T>(Entity e)
where T : struct, IBufferElementData
Parameters
Type |
Name |
Description |
Entity |
e |
|
Returns
Type Parameters
AddComponent(Entity, ComponentType)
Declaration
public void AddComponent(Entity e, ComponentType componentType)
Parameters
AddComponent(Entity, ComponentTypes)
Records a command to add one or more components to an entity.
Declaration
public void AddComponent(Entity e, ComponentTypes types)
Parameters
Type |
Name |
Description |
Entity |
e |
The entity to get additional components.
|
ComponentTypes |
types |
The types of components to add.
|
AddComponent(EntityQuery, ComponentType)
Declaration
public void AddComponent(EntityQuery entityQuery, ComponentType componentType)
Parameters
AddComponent(EntityQuery, ComponentTypes)
Records a command to add one or more components to all entities matching a query.
Declaration
public void AddComponent(EntityQuery entityQuery, ComponentTypes types)
Parameters
Type |
Name |
Description |
EntityQuery |
entityQuery |
The query specifying which entities get the added components.
|
ComponentTypes |
types |
The types of components to add.
|
AddComponent<T>(Entity)
Declaration
public void AddComponent<T>(Entity e)
where T : struct, IComponentData
Parameters
Type |
Name |
Description |
Entity |
e |
|
Type Parameters
AddComponent<T>(Entity, T)
Declaration
public void AddComponent<T>(Entity e, T component)
where T : struct, IComponentData
Parameters
Type |
Name |
Description |
Entity |
e |
|
T |
component |
|
Type Parameters
AddComponent<T>(EntityQuery)
Declaration
public void AddComponent<T>(EntityQuery entityQuery)
Parameters
Type Parameters
AddSharedComponent<T>(Entity, T)
Declaration
public void AddSharedComponent<T>(Entity e, T component)
where T : struct, ISharedComponentData
Parameters
Type |
Name |
Description |
Entity |
e |
|
T |
component |
|
Type Parameters
AddSharedComponent<T>(EntityQuery, T)
Declaration
public void AddSharedComponent<T>(EntityQuery entityQuery, T component)
where T : struct, ISharedComponentData
Parameters
Type |
Name |
Description |
EntityQuery |
entityQuery |
|
T |
component |
|
Type Parameters
AppendToBuffer<T>(Entity, T)
Appends a single element to the end of a dynamic buffer component.
Declaration
public void AppendToBuffer<T>(Entity e, T element)
where T : struct, IBufferElementData
Parameters
Type |
Name |
Description |
Entity |
e |
The entity to which the dynamic buffer belongs.
|
T |
element |
The new element to add to the DynamicBuffer<T> component.
|
Type Parameters
Remarks
Exceptions
Type |
Condition |
InvalidOperationException |
Thrown if the entity does not have a DynamicBuffer<T>
component storing elements of type T at the time the entity command buffer executes this append-to-buffer command.
|
AsParallelWriter()
Declaration
public EntityCommandBuffer.ParallelWriter AsParallelWriter()
Returns
CreateEntity(EntityArchetype)
Declaration
public Entity CreateEntity(EntityArchetype archetype = default(EntityArchetype))
Parameters
Returns
DestroyEntity(Entity)
Declaration
public void DestroyEntity(Entity e)
Parameters
Type |
Name |
Description |
Entity |
e |
|
DestroyEntity(EntityQuery)
Declaration
public void DestroyEntity(EntityQuery entityQuery)
Parameters
Dispose()
Declaration
Instantiate(Entity)
Declaration
public Entity Instantiate(Entity e)
Parameters
Type |
Name |
Description |
Entity |
e |
|
Returns
Playback(EntityManager)
Play back all recorded operations against an entity manager.
Declaration
public void Playback(EntityManager mgr)
Parameters
Type |
Name |
Description |
EntityManager |
mgr |
The entity manager that will receive the operations
|
Playback(ExclusiveEntityTransaction)
Declaration
public void Playback(ExclusiveEntityTransaction mgr)
Parameters
RemoveComponent(Entity, ComponentType)
Declaration
public void RemoveComponent(Entity e, ComponentType componentType)
Parameters
RemoveComponent(Entity, ComponentTypes)
Records a command to remove one or more components from an entity.
Declaration
public void RemoveComponent(Entity e, ComponentTypes componentTypes)
Parameters
RemoveComponent(EntityQuery, ComponentType)
Declaration
public void RemoveComponent(EntityQuery entityQuery, ComponentType componentType)
Parameters
RemoveComponent(EntityQuery, ComponentTypes)
Records a command to remove one or more components from all entities matching a query.
Declaration
public void RemoveComponent(EntityQuery q, ComponentTypes componentTypes)
Parameters
RemoveComponent<T>(Entity)
Declaration
public void RemoveComponent<T>(Entity e)
Parameters
Type |
Name |
Description |
Entity |
e |
|
Type Parameters
RemoveComponent<T>(EntityQuery)
Declaration
public void RemoveComponent<T>(EntityQuery entityQuery)
Parameters
Type Parameters
SetBuffer<T>(Entity)
Declaration
public DynamicBuffer<T> SetBuffer<T>(Entity e)
where T : struct, IBufferElementData
Parameters
Type |
Name |
Description |
Entity |
e |
|
Returns
Type Parameters
SetComponent<T>(Entity, T)
Declaration
public void SetComponent<T>(Entity e, T component)
where T : struct, IComponentData
Parameters
Type |
Name |
Description |
Entity |
e |
|
T |
component |
|
Type Parameters
SetSharedComponent<T>(Entity, T)
Declaration
public void SetSharedComponent<T>(Entity e, T component)
where T : struct, ISharedComponentData
Parameters
Type |
Name |
Description |
Entity |
e |
|
T |
component |
|
Type Parameters
Extension Methods