Method GetSharedComponentIndex
GetSharedComponentIndex<T>(SharedComponentTypeHandle<T>)
Gets the index into the array of unique values for the specified shared component.
Declaration
public readonly int GetSharedComponentIndex<T>(SharedComponentTypeHandle<T> chunkSharedComponentData) where T : struct, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
SharedComponentTypeHandle<T> | chunkSharedComponentData | An object containing type and job safety information. To create this object, call GetSharedComponentTypeHandle<T>(). Pass the object to a job using a public field you define as part of the job struct. |
Returns
Type | Description |
---|---|
int | The index value, or -1 if the chunk does not contain a shared component of the specified type. |
Type Parameters
Name | Description |
---|---|
T | The data type of the shared component. |
Remarks
Because shared components can contain managed types, you can only access the value index of a shared component inside a job, not the value itself. The index value indexes the array returned by GetAllUniqueSharedComponentsManaged<T>(List<T>). If desired, you can create a native array that mirrors your unique value list, but which contains only unmanaged, blittable data and pass that into an IJobChunk job. The unique value list and a specific index is only valid until a structural change occurs.
GetSharedComponentIndex(ref DynamicSharedComponentTypeHandle)
Gets the index into the array of unique values for the specified shared component.
Declaration
public readonly int GetSharedComponentIndex(ref DynamicSharedComponentTypeHandle typeHandle)
Parameters
Type | Name | Description |
---|---|---|
DynamicSharedComponentTypeHandle | typeHandle | An object containing type and job safety information. To create this object, call GetDynamicSharedComponentTypeHandle(ComponentType). |
Returns
Type | Description |
---|---|
int | The index value, or -1 if the chunk does not contain a shared component of the specified type. |
Remarks
Because shared components can contain managed types, you can only access the value index of a shared component inside a job, not the value itself. The index value indexes the array returned by GetAllUniqueSharedComponentsManaged<T>(List<T>). If desired, you can create a native array that mirrors your unique value list, but which contains only unmanaged, blittable data and pass that into an IJobChunk job. The unique value list and a specific index is only valid until a structural change occurs.
GetSharedComponentIndex(DynamicSharedComponentTypeHandle)
Obsolete. Use GetSharedComponentIndex(ref DynamicSharedComponentTypeHandle) instead.
Declaration
[Obsolete("The typeHandle argument should now be passed by ref. (RemovedAfter Entities 1.0)", false)]
public readonly int GetSharedComponentIndex(DynamicSharedComponentTypeHandle typeHandle)
Parameters
Type | Name | Description |
---|---|---|
DynamicSharedComponentTypeHandle | typeHandle | An object containing type and job safety information. To create this object, call GetDynamicSharedComponentTypeHandle(ComponentType). |
Returns
Type | Description |
---|---|
int | The index value, or -1 if the chunk does not contain a shared component of the specified type. |