Method AddBuffer
AddBuffer<T>(Entity)
Adds a dynamic buffer component to an entity.
Declaration
[GenerateTestsForBurstCompatibility(GenericTypeArguments = new Type[] { typeof(BurstCompatibleBufferElement) })]
public DynamicBuffer<T> AddBuffer<T>(Entity entity) where T : unmanaged, IBufferElementData
Parameters
Type | Name | Description |
---|---|---|
Entity | entity | The entity. |
Returns
Type | Description |
---|---|
DynamicBuffer<T> | The buffer. |
Type Parameters
Name | Description |
---|---|
T | The type of buffer element. Must implement IBufferElementData. |
Remarks
A buffer component stores the number of elements inside the chunk defined by the [InternalBufferCapacity] attribute applied to the buffer element type declaration. Any additional elements are stored in a separate memory block that is managed by the EntityManager.
Adding a component changes an entity's archetype and results in the entity being moved to a different chunk.
(You can add a buffer component with the regular AddComponent methods, but unlike those methods, this method conveniently also returns the new buffer.)
Important: This method creates a sync point, which means that the EntityManager waits for all currently running jobs to complete before adding the component. No additional jobs can start before the method is finished. A sync point can cause a drop in performance because the ECS framework might not be able to use the processing power of all available cores.
Exceptions
Type | Condition |
---|---|
ArgumentException | The Entity does not exist. |