Documentation

Unity Engine


Unity Engine


GetSharedComponentIndex

Gets the index into the array of unique values for the specified shared component.
Read time 3 minutesLast updated a day ago

Definition

  • Type: Method
  • Namespace: Unity.Entities
  • Assembly: UnityEngine.EntitiesModule

GetSharedComponentIndex<T>(SharedComponentTypeHandle<T>)

Gets the index into the array of unique values for the specified shared component.
public readonly int GetSharedComponentIndex<T>(SharedComponentTypeHandle<T> chunkSharedComponentData) where T : struct, ISharedComponentData

Parameters

chunkSharedComponentData

An object containing type and job safety information. To create this object, call ComponentSystemBase.GetSharedComponentTypeHandle. Pass the object to a job using a public field you define as part of the job struct.

Returns

Type

Description

intThe 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 EntityManager.GetAllUniqueSharedComponents. 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<T>(SharedComponentTypeHandle<T>)

Gets the index into the array of unique values for the specified shared component.
public readonly int GetSharedComponentIndex<T>(ref SharedComponentTypeHandle<T> chunkSharedComponentData) where T : struct, ISharedComponentData

Parameters

chunkSharedComponentData

An object containing type and job safety information. To create this object, call ComponentSystemBase.GetSharedComponentTypeHandle. Pass the object to a job using a public field you define as part of the job struct.

Returns

Type

Description

intThe 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 EntityManager.GetAllUniqueSharedComponents. 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)

Gets the index into the array of unique values for the specified shared component.
public readonly int GetSharedComponentIndex(ref DynamicSharedComponentTypeHandle typeHandle)

Parameters

An object containing type and job safety information. To create this object, call ComponentSystemBase.GetDynamicSharedComponentTypeHandle.

Returns

Type

Description

intThe 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 EntityManager.GetAllUniqueSharedComponents. 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.