Method AddBuffer
AddBuffer<T>(Entity)
Adds a dynamic buffer component to an entity.
Declaration
[BurstCompatible(GenericTypeArguments = new Type[]{typeof(BurstCompatibleBufferElement)})]
public DynamicBuffer<T> AddBuffer<T>(Entity entity)
where T : struct, 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 function creates a sync point, which means that the EntityManager waits for all currently running Jobs to complete before adding the buffer and no additional Jobs can start before the function is finished. A sync point can cause a drop in performance because the ECS framework may not be able to make use of the processing power of all available cores.
Exceptions
Type | Condition |
---|---|
ArgumentException | The Entity does not exist. |