Method HasComponent
HasComponent<T>(Entity)
Checks whether an entity has a specific type of component.
Declaration
public static bool HasComponent<T>(Entity entity) where T : unmanaged, IComponentData
Parameters
Type | Name | Description |
---|---|---|
Entity | entity | The Entity object. |
Returns
Type | Description |
---|---|
bool | True, if the specified entity has the component. |
Type Parameters
Name | Description |
---|---|
T | The data type of the component. |
Remarks
Always returns false for an entity that has been destroyed.
Use this method to check if another entity has a given type of component using its Entity object. For example, if you have a component that contains an Entity field, you can check whether the referenced entity has a specific type of component using this method. (Entities in the set always have required components, so you don’t need to check for them.)
When iterating over a set of entities with an idomatic foreach query, don't use this method to access the data of the current entity in the set. It's faster to change your query to avoid using optional components.
When you call this method this method gets replaced with component access methods through a cached Component
This lookup method results in a slower, indirect memory access. When possible, organize your data to minimize the need for indirect lookups.
HasComponent<T>(SystemHandle)
Checks whether an entity associated with a system has a specific type of component.
Declaration
public static bool HasComponent<T>(SystemHandle systemHandle) where T : unmanaged, IComponentData
Parameters
Type | Name | Description |
---|---|---|
System |
systemHandle | The system handle. |
Returns
Type | Description |
---|---|
bool | True, if the specified system owned entity has the component. |
Type Parameters
Name | Description |
---|---|
T | The data type of the component. |
Remarks
Always returns false for an system that has been destroyed.
Use this method to check if another system owned entity has a given type of component using its System
When you call this method this method gets replaced with component access methods through a cached Component