Struct ArchetypeChunk
  
A block of unmanaged memory containing the components for entities sharing the same
Unity.Entities.Archetype.
 
Syntax
public struct ArchetypeChunk : IEquatable<ArchetypeChunk>
 
Properties
  
Archetype
The archetype of the entities stored in this chunk.
 
Declaration
public EntityArchetype Archetype { get; }
 
Property Value
Capacity
The number of entities that can fit in this chunk.
 
Declaration
public int Capacity { get; }
 
Property Value
Count
The number of entities currently stored in the chunk.
 
Declaration
public int Count { get; }
 
Property Value
Full
Whether this chunk is exactly full.
 
Declaration
public bool Full { get; }
 
Property Value
Null
A special "null" ArchetypeChunk that you can use to test whether ArchetypeChunk instances are valid.
 
Declaration
public static ArchetypeChunk Null { get; }
 
Property Value
Methods
  
DidChange<T>(ArchetypeChunkBufferType<T>, UInt32)
Reports whether any of dynamic buffer components in the chunk, of the type identified by
chunkBufferType, could have changed.
 
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  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. 
 | 
DidChange<T>(ArchetypeChunkComponentType<T>, UInt32)
Reports whether any of IComponentData components in the chunk, of the type identified by
chunkComponentType, could have changed.
 
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  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. 
 | 
DidChange<T>(ArchetypeChunkSharedComponentType<T>, UInt32)
Declaration
public bool DidChange<T>(ArchetypeChunkSharedComponentType<T> chunkSharedComponentData, uint version)
    where T : struct, ISharedComponentData
 
Parameters
Returns
Type Parameters
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
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
Returns
Type Parameters
GetChunkComponentData<T>(ArchetypeChunkComponentType<T>)
Declaration
public T GetChunkComponentData<T>(ArchetypeChunkComponentType<T> chunkComponentType)
    where T : struct
 
Parameters
Returns
Type Parameters
GetComponentObjects<T>(ArchetypeChunkComponentType<T>, EntityManager)
Declaration
public ArchetypeChunkComponentObjects<T> GetComponentObjects<T>(ArchetypeChunkComponentType<T> componentType, EntityManager manager)
    where T : class
 
Parameters
Returns
Type Parameters
GetComponentVersion<T>(ArchetypeChunkBufferType<T>)
Declaration
public uint GetComponentVersion<T>(ArchetypeChunkBufferType<T> chunkBufferType)
    where T : struct, IBufferElementData
 
Parameters
Returns
Type Parameters
GetComponentVersion<T>(ArchetypeChunkComponentType<T>)
Declaration
public uint GetComponentVersion<T>(ArchetypeChunkComponentType<T> chunkComponentType)
    where T : IComponentData
 
Parameters
Returns
Type Parameters
GetComponentVersion<T>(ArchetypeChunkSharedComponentType<T>)
Declaration
public uint GetComponentVersion<T>(ArchetypeChunkSharedComponentType<T> chunkSharedComponentData)
    where T : struct, ISharedComponentData
 
Parameters
Returns
Type Parameters
GetDynamicComponentDataArrayReinterpret<T>(ArchetypeChunkComponentTypeDynamic, Int32)
Declaration
public NativeArray<T> GetDynamicComponentDataArrayReinterpret<T>(ArchetypeChunkComponentTypeDynamic chunkComponentType, int expectedTypeSize)
    where T : struct
 
Parameters
Returns
| Type | 
Description | 
| NativeArray<T> | 
 | 
Type Parameters
Exceptions
GetHashCode()
Computes a hashcode to support hash-based collections.
 
Declaration
public override int GetHashCode()
 
Returns
| Type | 
Description | 
| Int32 | 
The computed hash. 
 | 
Overrides
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  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. 
 | 
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. 
 | 
Exceptions
| Type | 
Condition | 
| ArgumentException | 
If you call this function on a "tag" component type (which is an empty
component with no fields). 
 | 
GetSharedComponentData<T>(ArchetypeChunkSharedComponentType<T>, EntityManager)
Declaration
public T GetSharedComponentData<T>(ArchetypeChunkSharedComponentType<T> chunkSharedComponentData, EntityManager entityManager)
    where T : struct, ISharedComponentData
 
Parameters
Returns
Type Parameters
GetSharedComponentIndex<T>(ArchetypeChunkSharedComponentType<T>)
Declaration
public int GetSharedComponentIndex<T>(ArchetypeChunkSharedComponentType<T> chunkSharedComponentData)
    where T : struct, ISharedComponentData
 
Parameters
Returns
Type Parameters
Has(ArchetypeChunkComponentTypeDynamic)
Declaration
public bool Has(ArchetypeChunkComponentTypeDynamic chunkComponentType)
 
Parameters
Returns
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  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. 
 | 
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  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. 
 | 
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  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. 
 | 
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  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. 
 | 
Invalid()
Reports whether this ArchetypeChunk instance is invalid.
 
Declaration
Returns
| Type | 
Description | 
| Boolean | 
True, if no Unity.Entities.Archetype is associated with the this ArchetypeChunk
instance. 
 | 
Locked()
Reports whether this ArchetypeChunk is locked.
 
Declaration
Returns
| Type | 
Description | 
| Boolean | 
True, if locked. 
 | 
See Also
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)
Declaration
public void SetChunkComponentData<T>(ArchetypeChunkComponentType<T> chunkComponentType, T value)
    where T : struct
 
Parameters
Type Parameters
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
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
Returns
| Type | 
Description | 
| Boolean | 
True, if the ArchetypeChunk instances reference different blocks of memory. 
 |