Method AddSharedComponentManaged
AddSharedComponentManaged<T>(EntityQuery, T, EntityQueryCaptureMode)
Records a command to add a possibly-managed shared component to all entities matching a query.
Declaration
public void AddSharedComponentManaged<T>(EntityQuery entityQuery, T component, EntityQueryCaptureMode queryCaptureMode) where T : struct, 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. |
AddSharedComponentManaged<T>(EntityQuery, T)
Obsolete. Use AddSharedComponentManaged<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 AddSharedComponentManaged<T>(EntityQuery entityQuery, T component) where T : struct, 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. |
AddSharedComponentManaged<T>(Entity, T)
Records a command to add a possibly-managed shared component value on an entity.
Declaration
public void AddSharedComponentManaged<T>(Entity e, T sharedComponent) where T : struct, 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 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. |
AddSharedComponentManaged<T>(NativeArray<Entity>, T)
Records a command to add a possibly-managed shared component value on a NativeArray of entities.
Declaration
public void AddSharedComponentManaged<T>(NativeArray<Entity> entities, T sharedComponent) where T : struct, 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 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. |