Method AddSharedComponent
AddSharedComponent<T>(EntityQuery, T, EntityQueryCaptureMode)
Records a command to add a unmanaged shared component to all entities matching a query.
Declaration
public void AddSharedComponent<T>(EntityQuery entityQuery, T component, EntityQueryCaptureMode queryCaptureMode) where T : unmanaged, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
EntityQuery | entityQuery | The query specifying which entities to add the component value to. |
T | component | The component value to add. |
EntityQueryCaptureMode | queryCaptureMode | Controls when the entities matching |
Type Parameters
Name | Description |
---|---|
T | The type of shared component to set. |
Remarks
Entities which already have the component type will have the component set to the value.
Exceptions
Type | Condition |
---|---|
NullReferenceException | Throws if an Allocator was not passed in when the EntityCommandBuffer was created. |
InvalidOperationException | Throws if this EntityCommandBuffer has already been played back. |
AddSharedComponent<T>(EntityQuery, T)
Obsolete. Use AddSharedComponent<T>(EntityQuery, T, EntityQueryCaptureMode) instead.
Declaration
[Obsolete("This method now takes an extra parameter to control when the query is evaluated. To preserve the current semantics, use EntityQueryCaptureMode.AtRecord (RemovedAfter Entities 2.0)")]
public void AddSharedComponent<T>(EntityQuery entityQuery, T component) where T : unmanaged, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
EntityQuery | entityQuery | The query specifying the entities to which the component is added. |
T | component | The component value to add. |
Type Parameters
Name | Description |
---|---|
T | The type of shared component to set. |
AddSharedComponent<T>(Entity, T)
Records a command to add an unmanaged shared component value on an entity.
Declaration
public void AddSharedComponent<T>(Entity e, T sharedComponent) where T : unmanaged, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
Entity | e | The entity to add the shared component value to. |
T | sharedComponent | The shared component value to add. |
Type Parameters
Name | Description |
---|---|
T | The type of shared component to add. |
Remarks
At playback, this command throws an error if this entity is destroyed before playback, if this entity is still deferred, if adding this shared component exceeds the maximum number of shared components, or adding a component type makes the archetype too large.
Exceptions
Type | Condition |
---|---|
NullReferenceException | Throws if an Allocator was not passed in when the EntityCommandBuffer was created. |
InvalidOperationException | Throws if this EntityCommandBuffer has already been played back. |
AddSharedComponent<T>(NativeArray<Entity>, T)
Records a command to add an unmanaged shared component value on a NativeArray of entities.
Declaration
public void AddSharedComponent<T>(NativeArray<Entity> entities, T sharedComponent) where T : unmanaged, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
NativeArray<Entity> | entities | The NativeArray of entities to add the shared component value to. |
T | sharedComponent | The shared component value to add. |
Type Parameters
Name | Description |
---|---|
T | The type of shared component to add. |
Remarks
At playback, this command throws an error if any entity is destroyed before playback, if any entity is still deferred, if adding this shared component exceeds the maximum number of shared components, or adding a component type makes the archetype too large.
Exceptions
Type | Condition |
---|---|
NullReferenceException | Throws if an Allocator was not passed in when the EntityCommandBuffer was created. |
InvalidOperationException | Throws if this EntityCommandBuffer has already been played back. |