Method SetArchetype
SetArchetype(Entity, EntityArchetype)
Adds and removes components of an entity to match the specified EntityArchetype.
Declaration
public void SetArchetype(Entity entity, EntityArchetype archetype)
Parameters
Type | Name | Description |
---|---|---|
Entity | entity | The entity whose archetype to change. |
EntityArchetype | archetype | The new archetype for the entity. |
Remarks
Components of the archetype which the entity already has will preserve their values.
Components of the archetype which the entity does not have will get the default value for their types.
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 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. |