Struct EntityCommandBuffer
A thread-safe command buffer that can buffer commands that affect entities and components for later playback.
Syntax
[NativeContainer]
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(EntityQuery, ComponentType)
Declaration
public void AddComponent(EntityQuery entityQuery, ComponentType componentType)
Parameters
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.
|
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(EntityQuery, ComponentType)
Declaration
public void RemoveComponent(EntityQuery entityQuery, ComponentType componentType)
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
ToConcurrent()
Declaration
public EntityCommandBuffer.Concurrent ToConcurrent()
Returns
Extension Methods