Method GetChangeVersion
GetChangeVersion<T>(ref ComponentTypeHandle<T>)
Gets the change version number assigned to the specified type of component in this chunk.
Declaration
public readonly uint GetChangeVersion<T>(ref ComponentTypeHandle<T> typeHandle) where T : IComponentData
Parameters
Type | Name | Description |
---|---|---|
Component |
typeHandle | An object containing type and job safety information. To create this
object, call Get |
Returns
Type | Description |
---|---|
uint | The current version number of the specified component, which is the version set the last time a system accessed a component of that type in this chunk with write privileges. Returns 0 if the chunk does not contain a component of the specified type. |
Type Parameters
Name | Description |
---|---|
T | The data type of component T. |
Remarks
Every time a system accesses components in a chunk, the system updates the change version of any
component types to which it has write access with the current
Global
You can use the change version to filter out entities that have not changed since the last time a system ran. Implement change filtering using one of the following:
- Entities.
For Each. With Change Filter(Component Type) - Add
Changed Version Filter(Component Type) - Did
Change<T>(ref Component in an IJobType Handle<T>, uint) Chunk job.
Note that change versions are stored at the chunk level. Thus when you use change filtering, the query system excludes or includes whole chunks not individual entities.
GetChangeVersion<T>(ComponentTypeHandle<T>)
Obsolete. Use Get
Declaration
[Obsolete("The typeHandle argument should now be passed by ref. (RemovedAfter Entities 1.0)", false)]
public readonly uint GetChangeVersion<T>(ComponentTypeHandle<T> typeHandle) where T : IComponentData
Parameters
Type | Name | Description |
---|---|---|
Component |
typeHandle | An object containing type and job safety information. To create this
object, call Get |
Returns
Type | Description |
---|---|
uint | The current version number of the specified component, which is the version set the last time a system accessed a component of that type in this chunk with write privileges. Returns 0 if the chunk does not contain a component of the specified type. |
Type Parameters
Name | Description |
---|---|
T | The data type of component T. |
GetChangeVersion(ref DynamicComponentTypeHandle)
Gets the change version number assigned to the specified type of component in this chunk.
Declaration
public readonly uint GetChangeVersion(ref DynamicComponentTypeHandle typeHandle)
Parameters
Type | Name | Description |
---|---|---|
Dynamic |
typeHandle | An object containing type and job safety information. To create this
object, call Get |
Returns
Type | Description |
---|---|
uint | The current version number of the specified component, which is the version set the last time a system accessed a component of that type in this chunk with write privileges. Returns 0 if the chunk does not contain a component of the specified type. |
Remarks
Every time a system accesses components in a chunk, the system updates the change version of any
component types to which it has write access with the current
Global
You can use the change version to filter out entities that have not changed since the last time a system ran. Implement change filtering using one of the following:
- Entities.
For Each. With Change Filter(Component Type) - Add
Changed Version Filter(Component Type) - Did
Change<T>(ref Component in an IJobType Handle<T>, uint) Chunk job.
Note that change versions are stored at the chunk level. Thus when you use change filtering, the query system excludes or includes whole chunks not individual entities.
GetChangeVersion(DynamicComponentTypeHandle)
Obsolete. Use Get
Declaration
[Obsolete("The typeHandle argument should now be passed by ref. (RemovedAfter Entities 1.0)", false)]
public readonly uint GetChangeVersion(DynamicComponentTypeHandle typeHandle)
Parameters
Type | Name | Description |
---|---|---|
Dynamic |
typeHandle | An object containing type and job safety information. To create this
object, call Get |
Returns
Type | Description |
---|---|
uint | The current version number of the specified component, which is the version set the last time a system accessed a component of that type in this chunk with write privileges. Returns 0 if the chunk does not contain a component of the specified type. |
GetChangeVersion<T>(ref BufferTypeHandle<T>)
Gets the change version number assigned to the specified type of dynamic buffer component in this chunk.
Declaration
public readonly uint GetChangeVersion<T>(ref BufferTypeHandle<T> bufferTypeHandle) where T : unmanaged, IBufferElementData
Parameters
Type | Name | Description |
---|---|---|
Buffer |
bufferTypeHandle | An object containing type and job safety information. To create this
object, call Get |
Returns
Type | Description |
---|---|
uint | The current version number of the specified dynamic buffer type, which is the version set the last time a system accessed a buffer component of that type in this chunk with write privileges. Returns 0 if the chunk does not contain a buffer component of the specified type. |
Type Parameters
Name | Description |
---|---|
T | The data type of component T. |
Remarks
Every time a system accesses components in a chunk, the system updates the change version of any
component types to which it has write access with the current
Global
You can use the change version to filter out entities that have not changed since the last time a system ran. Implement change filtering using one of the following:
- Entities.
For Each. With Change Filter(Component Type) - Add
Changed Version Filter(Component Type) - Did
Change<T>(ref Component in an IJobType Handle<T>, uint) Chunk job.
Note that change versions are stored at the chunk level. Thus if you use change filtering, the query system excludes or includes whole chunks not individual entities.
GetChangeVersion<T>(BufferTypeHandle<T>)
Obsolete. Use Get
Declaration
[Obsolete("The bufferTypeHandle argument should now be passed by ref. (RemovedAfter Entities 1.0)", false)]
public readonly uint GetChangeVersion<T>(BufferTypeHandle<T> bufferTypeHandle) where T : unmanaged, IBufferElementData
Parameters
Type | Name | Description |
---|---|---|
Buffer |
bufferTypeHandle | An object containing type and job safety information. To create this
object, call Get |
Returns
Type | Description |
---|---|
uint | The current version number of the specified dynamic buffer type, which is the version set the last time a system accessed a buffer component of that type in this chunk with write privileges. Returns 0 if the chunk does not contain a buffer component of the specified type. |
Type Parameters
Name | Description |
---|---|
T | The data type of component T. |
GetChangeVersion<T>(SharedComponentTypeHandle<T>)
Gets the change version number assigned to the specified type of shared component in this chunk.
Declaration
public readonly uint GetChangeVersion<T>(SharedComponentTypeHandle<T> chunkSharedComponentData) where T : struct, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
Shared |
chunkSharedComponentData | An object containing type and job safety information. To create this
object, call Get |
Returns
Type | Description |
---|---|
uint | The current version number of the specified shared component, which is the version set the last time a system accessed a component of that type in this chunk with write privileges. Returns 0 if the chunk does not contain a shared component of the specified type. |
Type Parameters
Name | Description |
---|---|
T | The data type of shared component T. |
Remarks
Shared components behave differently than other types of components in terms of change versioning because changing the value of a shared component can move an entity to a different chunk. If the change results in an entity moving to a different chunk, then only the order version is updated (for both the original and the receiving chunk). If you change the shared component value for all entities in a chunk at once, the entities remain in their current chunk. The change version for that chunk is updated and the order version is unaffected.
GetChangeVersion(ref DynamicSharedComponentTypeHandle)
Gets the change version number assigned to the specified type of shared component in this chunk.
Declaration
public readonly uint GetChangeVersion(ref DynamicSharedComponentTypeHandle typeHandle)
Parameters
Type | Name | Description |
---|---|---|
Dynamic |
typeHandle | An object containing type and job safety information. To create this
object, call Get |
Returns
Type | Description |
---|---|
uint | The current version number of the specified shared component, which is the version set the last time a system accessed a component of that type in this chunk with write privileges. Returns 0 if the chunk does not contain a shared component of the specified type. |
Remarks
Shared components behave differently than other types of components in terms of change versioning because changing the value of a shared component can move an entity to a different chunk. If the change results in an entity moving to a different chunk, then only the order version is updated (for both the original and the receiving chunk). If you change the shared component value for all entities in a chunk at once, the entities remain in their current chunk. The change version for that chunk is updated and the order version is unaffected.
GetChangeVersion(DynamicSharedComponentTypeHandle)
Obsolete. Use Get
Declaration
[Obsolete("The typeHandle argument should now be passed by ref. (RemovedAfter Entities 1.0)", false)]
public readonly uint GetChangeVersion(DynamicSharedComponentTypeHandle typeHandle)
Parameters
Type | Name | Description |
---|---|---|
Dynamic |
typeHandle | An object containing type and job safety information. To create this
object, call Get |
Returns
Type | Description |
---|---|
uint | The current version number of the specified shared component, which is the version set the last time a system accessed a component of that type in this chunk with write privileges. Returns 0 if the chunk does not contain a shared component of the specified type. |