docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    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.

    In This Article
    Back to top
    Copyright © 2024 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)