Struct ArchetypeChunk | Entities | 0.10.0-preview.6
docs.unity3d.com
    Show / Hide Table of Contents

    Struct ArchetypeChunk

    A block of unmanaged memory containing the components for entities sharing the same Archetype.

    Namespace: Unity.Entities
    Syntax
    public struct ArchetypeChunk : IEquatable<ArchetypeChunk>

    Properties

    Archetype

    The archetype of the entities stored in this chunk.

    Declaration
    public EntityArchetype Archetype { get; }
    Property Value
    Type Description
    EntityArchetype
    Remarks

    All entities in a chunk must have the same Archetype.

    BatchEntityCount

    If the ArchetypeChunk is sub-batched, returns the number of entities referenced by this batch.

    Declaration
    public int BatchEntityCount { get; }
    Property Value
    Type Description
    Int32

    Capacity

    The number of entities that can fit in this chunk.

    Declaration
    public int Capacity { get; }
    Property Value
    Type Description
    Int32
    Remarks

    The capacity of a chunk depends on the size of the components making up the Archetype of the entities stored in the chunk.

    ChunkEntityCount

    The number of entities currently stored in the chunk.

    Declaration
    public int ChunkEntityCount { get; }
    Property Value
    Type Description
    Int32

    Count

    If the ArchetypeChunk is not sub-batched, returns the number of entities in the chunk. Otherwise, returns the number of entities referenced by this batch.

    Declaration
    public int Count { get; }
    Property Value
    Type Description
    Int32

    Full

    Whether this chunk is exactly full.

    Declaration
    public bool Full { get; }
    Property Value
    Type Description
    Boolean

    Null

    A special "null" ArchetypeChunk that you can use to test whether ArchetypeChunk instances are valid.

    Declaration
    public static ArchetypeChunk Null { get; }
    Property Value
    Type Description
    ArchetypeChunk
    Remarks

    An ArchetypeChunk struct that refers to a chunk of memory that has been freed will be equal to this "null" ArchetypeChunk instance.

    Methods

    DidChange(ArchetypeChunkComponentTypeDynamic, UInt32)

    Reports whether the data in any of IComponentData components in the chunk, of the type identified by chunkComponentType, could have changed since the specified version.

    Declaration
    public bool DidChange(ArchetypeChunkComponentTypeDynamic chunkComponentType, uint version)
    Parameters
    Type Name Description
    ArchetypeChunkComponentTypeDynamic chunkComponentType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkComponentTypeDynamic(ComponentType) immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    UInt32 version

    The version to compare. In a system, this parameter should be set to the current LastSystemVersion at the time the job is run or scheduled.

    Returns
    Type Description
    Boolean

    True, if the version number stored in the chunk for this component is more recent than the version passed to the version parameter.

    Remarks

    When you access a component in a chunk with write privileges, the ECS framework updates the change version of that component type to the current GlobalSystemVersion value. Since every system stores the global system version in its LastSystemVersion field when it updates, you can compare these two versions with this function in order to determine whether the data of components in this chunk could have changed since the last time that system ran.

    Note that for efficiency, the change version applies to whole chunks not individual entities. The change version is updated even when another job or system that has declared write access to a component does not actually change the component value.

    DidChange<T>(ArchetypeChunkBufferType<T>, UInt32)

    Reports whether any of the data in dynamic buffer components in the chunk, of the type identified by chunkBufferType, could have changed since the specified version.

    Declaration
    public bool DidChange<T>(ArchetypeChunkBufferType<T> chunkBufferType, uint version)
        where T : struct, IBufferElementData
    Parameters
    Type Name Description
    ArchetypeChunkBufferType<T> chunkBufferType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkBufferType<T>(Boolean) immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    UInt32 version

    The version to compare. In a system, this parameter should be set to the current LastSystemVersion at the time the job is run or scheduled.

    Returns
    Type Description
    Boolean

    True, if the version number stored in the chunk for this component is more recent than the version passed to the version parameter.

    Type Parameters
    Name Description
    T

    The data type of the elements in the dynamic buffer.

    Remarks

    When you access a component in a chunk with write privileges, the ECS framework updates the change version of that component type to the current GlobalSystemVersion value. Since every system stores the global system version in its LastSystemVersion field when it updates, you can compare these two versions with this function in order to determine whether the data of components in this chunk could have changed since the last time that system ran.

    Note that for efficiency, the change version applies to whole chunks not individual entities. The change version is updated even when another job or system that has declared write access to a component does not actually change the component value.

    DidChange<T>(ArchetypeChunkComponentType<T>, UInt32)

    Reports whether the data in any of IComponentData components in the chunk, of the type identified by chunkComponentType, could have changed since the specified version.

    Declaration
    public bool DidChange<T>(ArchetypeChunkComponentType<T> chunkComponentType, uint version)
        where T : IComponentData
    Parameters
    Type Name Description
    ArchetypeChunkComponentType<T> chunkComponentType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkComponentType<T>(Boolean) immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    UInt32 version

    The version to compare. In a system, this parameter should be set to the current LastSystemVersion at the time the job is run or scheduled.

    Returns
    Type Description
    Boolean

    True, if the version number stored in the chunk for this component is more recent than the version passed to the version parameter.

    Type Parameters
    Name Description
    T

    The component type.

    Remarks

    When you access a component in a chunk with write privileges, the ECS framework updates the change version of that component type to the current GlobalSystemVersion value. Since every system stores the global system version in its LastSystemVersion field when it updates, you can compare these two versions with this function in order to determine whether the data of components in this chunk could have changed since the last time that system ran.

    Note that for efficiency, the change version applies to whole chunks not individual entities. The change version is updated even when another job or system that has declared write access to a component does not actually change the component value.

    DidChange<T>(ArchetypeChunkSharedComponentType<T>, UInt32)

    Reports whether the value of shared components associated with the chunk, of the type identified by chunkSharedComponentData, could have changed since the specified version.

    Declaration
    public bool DidChange<T>(ArchetypeChunkSharedComponentType<T> chunkSharedComponentData, uint version)
        where T : struct, ISharedComponentData
    Parameters
    Type Name Description
    ArchetypeChunkSharedComponentType<T> chunkSharedComponentData

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkSharedComponentType<T>() immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    UInt32 version

    The version to compare. In a system, this parameter should be set to the current LastSystemVersion at the time the job is run or scheduled.

    Returns
    Type Description
    Boolean

    True, if the version number stored in the chunk for this component is more recent than the version passed to the version

    Type Parameters
    Name Description
    T

    The data type of the shared component.

    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 change version for that chunk is updated. The order version is unaffected.

    Note that for efficiency, the change version applies to whole chunks not individual entities. The change version is updated even when another job or system that has declared write access to a component does not actually change the component value.

    DidOrderChange(UInt32)

    Reports whether a structural change has occured in this chunk since the specified version.

    Declaration
    public bool DidOrderChange(uint version)
    Parameters
    Type Name Description
    UInt32 version

    The version number to compare.

    Returns
    Type Description
    Boolean

    True, if the order version number has changed since the specified version.

    Remarks

    Typically, you set the version parameter to the LastSystemVersion of a system to detect whether the order version has changed since the last time that system ran.

    Equals(Object)

    Two ArchetypeChunk instances are equal if they reference the same block of chunk memory.

    Declaration
    public override bool Equals(object compare)
    Parameters
    Type Name Description
    Object compare

    An object

    Returns
    Type Description
    Boolean

    True if compare is an ArchetypeChunk instance that references the same memory, or both contain null memory references; otherwise false.

    Overrides
    ValueType.Equals(Object)

    Equals(ArchetypeChunk)

    Two ArchetypeChunk instances are equal if they reference the same block of chunk memory.

    Declaration
    public bool Equals(ArchetypeChunk archetypeChunk)
    Parameters
    Type Name Description
    ArchetypeChunk archetypeChunk

    Another ArchetypeChunk instance

    Returns
    Type Description
    Boolean

    True, if both ArchetypeChunk instances reference the same memory or both contain null memory references.

    GetBufferAccessor<T>(ArchetypeChunkBufferType<T>)

    Declaration
    public BufferAccessor<T> GetBufferAccessor<T>(ArchetypeChunkBufferType<T> bufferComponentType)
        where T : struct, IBufferElementData
    Parameters
    Type Name Description
    ArchetypeChunkBufferType<T> bufferComponentType
    Returns
    Type Description
    BufferAccessor<T>
    Type Parameters
    Name Description
    T

    GetChangeVersion(ArchetypeChunkComponentTypeDynamic)

    Gets the change version number assigned to the specified type of component in this chunk.

    Declaration
    public uint GetChangeVersion(ArchetypeChunkComponentTypeDynamic chunkComponentType)
    Parameters
    Type Name Description
    ArchetypeChunkComponentTypeDynamic chunkComponentType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkComponentTypeDynamic(ComponentType) immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    Returns
    Type Description
    UInt32

    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 GlobalSystemVersion. (A system updates the version whether or not you actually write any component data -- always specify read-only access when possible.)

    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.ForEach.WithChangeFilter(ComponentType)
    • AddChangedVersionFilter(ComponentType)
    • DidChange<T>(ArchetypeChunkComponentType<T>, UInt32) in an IJobChunk 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>(ArchetypeChunkBufferType<T>)

    Gets the change version number assigned to the specified type of dynamic buffer component in this chunk.

    Declaration
    public uint GetChangeVersion<T>(ArchetypeChunkBufferType<T> chunkBufferType)
        where T : struct, IBufferElementData
    Parameters
    Type Name Description
    ArchetypeChunkBufferType<T> chunkBufferType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkBufferType<T>(Boolean) immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    Returns
    Type Description
    UInt32

    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 GlobalSystemVersion. (A system updates the version whether or not you actually write any component data -- always specify read-only access when possible.)

    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.ForEach.WithChangeFilter(ComponentType)
    • AddChangedVersionFilter(ComponentType)
    • DidChange<T>(ArchetypeChunkComponentType<T>, UInt32) in an IJobChunk 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>(ArchetypeChunkComponentType<T>)

    Gets the change version number assigned to the specified type of component in this chunk.

    Declaration
    public uint GetChangeVersion<T>(ArchetypeChunkComponentType<T> chunkComponentType)
        where T : IComponentData
    Parameters
    Type Name Description
    ArchetypeChunkComponentType<T> chunkComponentType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkComponentType<T>(Boolean) immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    Returns
    Type Description
    UInt32

    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 GlobalSystemVersion. (A system updates the version whether or not you actually write any component data -- always specify read-only access when possible.)

    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.ForEach.WithChangeFilter(ComponentType)
    • AddChangedVersionFilter(ComponentType)
    • DidChange<T>(ArchetypeChunkComponentType<T>, UInt32) in an IJobChunk 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>(ArchetypeChunkSharedComponentType<T>)

    Gets the change version number assigned to the specified type of shared component in this chunk.

    Declaration
    public uint GetChangeVersion<T>(ArchetypeChunkSharedComponentType<T> chunkSharedComponentData)
        where T : struct, ISharedComponentData
    Parameters
    Type Name Description
    ArchetypeChunkSharedComponentType<T> chunkSharedComponentData

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkSharedComponentType<T>() immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    Returns
    Type Description
    UInt32

    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.

    GetChunkComponentData<T>(ArchetypeChunkComponentType<T>)

    Gets the value of a chunk component.

    Declaration
    public T GetChunkComponentData<T>(ArchetypeChunkComponentType<T> chunkComponentType)
        where T : struct
    Parameters
    Type Name Description
    ArchetypeChunkComponentType<T> chunkComponentType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkComponentType<T>(Boolean) immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    Returns
    Type Description
    T

    A copy of the chunk component.

    Type Parameters
    Name Description
    T

    The data type of the chunk component.

    GetComponentObjects<T>(ArchetypeChunkComponentType<T>, EntityManager)

    Declaration
    public ArchetypeChunkComponentObjects<T> GetComponentObjects<T>(ArchetypeChunkComponentType<T> componentType, EntityManager manager)
        where T : class
    Parameters
    Type Name Description
    ArchetypeChunkComponentType<T> componentType
    EntityManager manager
    Returns
    Type Description
    ArchetypeChunkComponentObjects<T>
    Type Parameters
    Name Description
    T

    GetDynamicComponentDataArrayReinterpret<T>(ArchetypeChunkComponentTypeDynamic, Int32)

    Declaration
    public NativeArray<T> GetDynamicComponentDataArrayReinterpret<T>(ArchetypeChunkComponentTypeDynamic chunkComponentType, int expectedTypeSize)
        where T : struct
    Parameters
    Type Name Description
    ArchetypeChunkComponentTypeDynamic chunkComponentType
    Int32 expectedTypeSize
    Returns
    Type Description
    NativeArray<T>
    Type Parameters
    Name Description
    T
    Exceptions
    Type Condition
    ArgumentException
    InvalidOperationException

    GetHashCode()

    Computes a hashcode to support hash-based collections.

    Declaration
    public override int GetHashCode()
    Returns
    Type Description
    Int32

    The computed hash.

    Overrides
    ValueType.GetHashCode()

    GetNativeArray(ArchetypeChunkEntityType)

    Provides a native array interface to entity instances stored in this chunk.

    Declaration
    public NativeArray<Entity> GetNativeArray(ArchetypeChunkEntityType archetypeChunkEntityType)
    Parameters
    Type Name Description
    ArchetypeChunkEntityType archetypeChunkEntityType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkEntityType() immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    Returns
    Type Description
    NativeArray<Entity>

    A native array containing the entities in the chunk.

    Remarks

    The native array returned by this method references existing data, not a copy.

    GetNativeArray<T>(ArchetypeChunkComponentType<T>)

    Provides a native array interface to components stored in this chunk.

    Declaration
    public NativeArray<T> GetNativeArray<T>(ArchetypeChunkComponentType<T> chunkComponentType)
        where T : struct, IComponentData
    Parameters
    Type Name Description
    ArchetypeChunkComponentType<T> chunkComponentType

    An object containing type and job safety information. Create this object by calling immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    Returns
    Type Description
    NativeArray<T>

    A native array containing the components in the chunk.

    Type Parameters
    Name Description
    T

    The data type of the component.

    Remarks

    The native array returned by this method references existing data, not a copy.

    Exceptions
    Type Condition
    ArgumentException

    If you call this function on a "tag" component type (which is an empty component with no fields).

    GetOrderVersion()

    Gets the order version number assigned to this chunk.

    Declaration
    public uint GetOrderVersion()
    Returns
    Type Description
    UInt32

    The current order version of this chunk.

    Remarks

    Every time you perform a structural change affecting a chunk, the ECS framework updates the order version of the chunk to the current GlobalSystemVersion value. Structural changes include adding and removing entities, adding or removing the component of an entity, and changing the value of a shared component (except when you change the value for all entities in a chunk at the same time).

    GetSharedComponentData<T>(ArchetypeChunkSharedComponentType<T>, EntityManager)

    Gets the current value of a shared component.

    Declaration
    public T GetSharedComponentData<T>(ArchetypeChunkSharedComponentType<T> chunkSharedComponentData, EntityManager entityManager)
        where T : struct, ISharedComponentData
    Parameters
    Type Name Description
    ArchetypeChunkSharedComponentType<T> chunkSharedComponentData

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkSharedComponentType<T>() immediately before calling this function.

    EntityManager entityManager

    An EntityManager instance.

    Returns
    Type Description
    T

    The shared component value.

    Type Parameters
    Name Description
    T

    The data type of the shared component.

    Remarks

    You cannot call this function inside a job.

    GetSharedComponentIndex<T>(ArchetypeChunkSharedComponentType<T>)

    Gets the index into the array of unique values for the specified shared component.

    Declaration
    public int GetSharedComponentIndex<T>(ArchetypeChunkSharedComponentType<T> chunkSharedComponentData)
        where T : struct, ISharedComponentData
    Parameters
    Type Name Description
    ArchetypeChunkSharedComponentType<T> chunkSharedComponentData

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkSharedComponentType<T>() immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    Returns
    Type Description
    Int32

    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 GetAllUniqueSharedComponentData<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.

    Has(ArchetypeChunkComponentTypeDynamic)

    Declaration
    public bool Has(ArchetypeChunkComponentTypeDynamic chunkComponentType)
    Parameters
    Type Name Description
    ArchetypeChunkComponentTypeDynamic chunkComponentType
    Returns
    Type Description
    Boolean

    Has<T>(ArchetypeChunkBufferType<T>)

    Reports whether this chunk contains a dynamic buffer containing the specified component type.

    Declaration
    public bool Has<T>(ArchetypeChunkBufferType<T> chunkBufferType)
        where T : struct, IBufferElementData
    Parameters
    Type Name Description
    ArchetypeChunkBufferType<T> chunkBufferType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkBufferType<T>(Boolean) immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    Returns
    Type Description
    Boolean

    True, if this chunk contains an array of the dynamic buffers containing the specified component type.

    Type Parameters
    Name Description
    T

    The data type of the component stored in the dynamic buffer.

    Remarks

    When an EntityQuery includes optional dynamic buffer types (with Any), some chunks returned by the query may have these dynamic buffers components and some may not. Use this function to determine whether or not the current chunk contains one of these optional dynamic buffers.

    Has<T>(ArchetypeChunkComponentType<T>)

    Reports whether this chunk contains the specified component type.

    Declaration
    public bool Has<T>(ArchetypeChunkComponentType<T> chunkComponentType)
        where T : IComponentData
    Parameters
    Type Name Description
    ArchetypeChunkComponentType<T> chunkComponentType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkComponentType<T>(Boolean) immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    Returns
    Type Description
    Boolean

    True, if this chunk contains an array of the specified component type.

    Type Parameters
    Name Description
    T

    The data type of the component.

    Remarks

    When an EntityQuery includes optional components (using Any), some chunks returned by the query may contain such components and some may not. Use this function to determine whether or not the current chunk contains one of these optional component types.

    Has<T>(ArchetypeChunkSharedComponentType<T>)

    Reports whether this chunk contains a shared component of the specified component type.

    Declaration
    public bool Has<T>(ArchetypeChunkSharedComponentType<T> chunkComponentType)
        where T : struct, ISharedComponentData
    Parameters
    Type Name Description
    ArchetypeChunkSharedComponentType<T> chunkComponentType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkSharedComponentType<T>() immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    Returns
    Type Description
    Boolean

    True, if this chunk contains a shared component of the specified type.

    Type Parameters
    Name Description
    T

    The data type of the shared component.

    Remarks

    When an EntityQuery includes optional components used as shared components (with Any), some chunks returned by the query may have these shared components and some may not. Use this function to determine whether or not the current chunk contains one of these optional component types as a shared component.

    HasChunkComponent<T>(ArchetypeChunkComponentType<T>)

    Reports whether this chunk contains a chunk component of the specified component type.

    Declaration
    public bool HasChunkComponent<T>(ArchetypeChunkComponentType<T> chunkComponentType)
        where T : struct, IComponentData
    Parameters
    Type Name Description
    ArchetypeChunkComponentType<T> chunkComponentType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkComponentType<T>(Boolean) immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    Returns
    Type Description
    Boolean

    True, if this chunk contains a chunk component of the specified type.

    Type Parameters
    Name Description
    T

    The data type of the chunk component.

    Remarks

    When an EntityQuery includes optional components used as chunk components (with Any), some chunks returned by the query may have these chunk components and some may not. Use this function to determine whether or not the current chunk contains one of these optional component types as a chunk component.

    Invalid()

    Reports whether this ArchetypeChunk instance is invalid.

    Declaration
    public bool Invalid()
    Returns
    Type Description
    Boolean

    True, if no Archetype is associated with the this ArchetypeChunk instance.

    NumSharedComponents()

    The number of shared components in the archetype associated with this chunk.

    Declaration
    public int NumSharedComponents()
    Returns
    Type Description
    Int32

    The shared component count.

    SetChunkComponentData<T>(ArchetypeChunkComponentType<T>, T)

    Sets the value of a chunk component.

    Declaration
    public void SetChunkComponentData<T>(ArchetypeChunkComponentType<T> chunkComponentType, T value)
        where T : struct
    Parameters
    Type Name Description
    ArchetypeChunkComponentType<T> chunkComponentType

    An object containing type and job safety information. Create this object by calling GetArchetypeChunkComponentType<T>(Boolean) immediately before scheduling a job. Pass the object to a job using a public field you define as part of the job struct.

    T value

    A struct of type T containing the new values for the chunk component.

    Type Parameters
    Name Description
    T

    The data type of the chunk component.

    Operators

    Equality(ArchetypeChunk, ArchetypeChunk)

    Two ArchetypeChunk instances are equal if they reference the same block of chunk memory.

    Declaration
    public static bool operator ==(ArchetypeChunk lhs, ArchetypeChunk rhs)
    Parameters
    Type Name Description
    ArchetypeChunk lhs

    An ArchetypeChunk

    ArchetypeChunk rhs

    Another ArchetypeChunk

    Returns
    Type Description
    Boolean

    True, if both ArchetypeChunk instances reference the same memory, or both contain null memory references.

    Inequality(ArchetypeChunk, ArchetypeChunk)

    Two ArchetypeChunk instances are only equal if they reference the same block of chunk memory.

    Declaration
    public static bool operator !=(ArchetypeChunk lhs, ArchetypeChunk rhs)
    Parameters
    Type Name Description
    ArchetypeChunk lhs

    An ArchetypeChunk

    ArchetypeChunk rhs

    Another ArchetypeChunk

    Returns
    Type Description
    Boolean

    True, if the ArchetypeChunk instances reference different blocks of memory.

    In This Article
    • Properties
      • Archetype
      • BatchEntityCount
      • Capacity
      • ChunkEntityCount
      • Count
      • Full
      • Null
    • Methods
      • DidChange(ArchetypeChunkComponentTypeDynamic, UInt32)
      • DidChange<T>(ArchetypeChunkBufferType<T>, UInt32)
      • DidChange<T>(ArchetypeChunkComponentType<T>, UInt32)
      • DidChange<T>(ArchetypeChunkSharedComponentType<T>, UInt32)
      • DidOrderChange(UInt32)
      • Equals(Object)
      • Equals(ArchetypeChunk)
      • GetBufferAccessor<T>(ArchetypeChunkBufferType<T>)
      • GetChangeVersion(ArchetypeChunkComponentTypeDynamic)
      • GetChangeVersion<T>(ArchetypeChunkBufferType<T>)
      • GetChangeVersion<T>(ArchetypeChunkComponentType<T>)
      • GetChangeVersion<T>(ArchetypeChunkSharedComponentType<T>)
      • GetChunkComponentData<T>(ArchetypeChunkComponentType<T>)
      • GetComponentObjects<T>(ArchetypeChunkComponentType<T>, EntityManager)
      • GetDynamicComponentDataArrayReinterpret<T>(ArchetypeChunkComponentTypeDynamic, Int32)
      • GetHashCode()
      • GetNativeArray(ArchetypeChunkEntityType)
      • GetNativeArray<T>(ArchetypeChunkComponentType<T>)
      • GetOrderVersion()
      • GetSharedComponentData<T>(ArchetypeChunkSharedComponentType<T>, EntityManager)
      • GetSharedComponentIndex<T>(ArchetypeChunkSharedComponentType<T>)
      • Has(ArchetypeChunkComponentTypeDynamic)
      • Has<T>(ArchetypeChunkBufferType<T>)
      • Has<T>(ArchetypeChunkComponentType<T>)
      • Has<T>(ArchetypeChunkSharedComponentType<T>)
      • HasChunkComponent<T>(ArchetypeChunkComponentType<T>)
      • Invalid()
      • NumSharedComponents()
      • SetChunkComponentData<T>(ArchetypeChunkComponentType<T>, T)
    • Operators
      • Equality(ArchetypeChunk, ArchetypeChunk)
      • Inequality(ArchetypeChunk, ArchetypeChunk)
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023