Method AddSharedComponentData
AddSharedComponentData<T>(Entity, T)
Adds a shared component to an entity.
Declaration
[NotBurstCompatible]
public bool AddSharedComponentData<T>(Entity entity, T componentData)
where T : struct, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
Entity | entity | The entity. |
T | componentData | The shared component value to set. |
Returns
Type | Description |
---|---|
Boolean | Returns false if the entity already has the shared component. The shared component value is set either way. |
Type Parameters
Name | Description |
---|---|
T | The shared component type. |
Remarks
The fields of the componentData
parameter are assigned to the added shared component.
Adding a component to an entity changes its archetype and results in the entity being moved to a different chunk. The entity moves to a chunk with other entities that have the same shared component values. A new chunk is created if no chunk with the same archetype and shared component values currently exists.
Important: This function creates a sync point, which means that the EntityManager waits for all currently running Jobs to complete before adding the component 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. |
AddSharedComponentData<T>(EntityQuery, T)
Adds a shared component to a set of entities defined by a EntityQuery.
Declaration
[NotBurstCompatible]
public void AddSharedComponentData<T>(EntityQuery entityQuery, T componentData)
where T : struct, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
EntityQuery | entityQuery | The EntityQuery defining a set of entities to modify. |
T | componentData | The data to set. |
Type Parameters
Name | Description |
---|---|
T | The data type of the shared component. |
Remarks
The fields of the componentData
parameter are assigned to all of the added shared components.
Adding a component to an entity changes its archetype and results in the entity being moved to a different chunk. The entity moves to a chunk with other entities that have the same shared component values. A new chunk is created if no chunk with the same archetype and shared component values currently exists.
Important: This function creates a sync point, which means that the EntityManager waits for all currently running Jobs to complete before adding the component 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. |