Method GetAllUniqueSharedComponentsManaged
GetAllUniqueSharedComponentsManaged<T>(List<T>)
Gets a list of all the unique instances of a shared component type.
Declaration
[ExcludeFromBurstCompatTesting("Accesses managed component store")]
public void GetAllUniqueSharedComponentsManaged<T>(List<T> sharedComponentValues) where T : struct, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
List<T> | sharedComponentValues | A List<T> object to receive the unique instances of the shared component of type T. |
Type Parameters
Name | Description |
---|---|
T | The type of shared component. |
Remarks
All entities with the same archetype and the same values for a shared component are stored in the same set
of chunks. This function finds the unique shared components existing across chunks and archetype and
fills a list with copies of those components.
Note that the first element of the output list will always be the default value for T
,
even if no entities or chunks currently use that value.
GetAllUniqueSharedComponentsManaged<T>(List<T>, List<int>)
Gets a list of all unique shared components of the same type and a corresponding list of indices into the internal shared component list.
Declaration
[ExcludeFromBurstCompatTesting("Accesses managed component store")]
public void GetAllUniqueSharedComponentsManaged<T>(List<T> sharedComponentValues, List<int> sharedComponentIndices) where T : struct, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
List<T> | sharedComponentValues | A List<T> object to receive the unique instances of the shared component of type T. |
List<int> | sharedComponentIndices | A List<int> object to receive the unique instances of the shared components' indices. |
Type Parameters
Name | Description |
---|---|
T | The type of shared component. |
Remarks
All entities with the same archetype and the same values for a shared component are stored in the same set
of chunks. This function finds the unique shared components existing across chunks and archetype and
fills a list with copies of those components and fills in a separate list with the indices of those components
in the internal shared component list. You can use the indices to access the same shared components directly
by calling Get
GetAllUniqueSharedComponentsManaged<T>(List<T>, List<int>, List<int>)
Gets a list of all unique shared components of the same type and a corresponding list of indices into the internal shared component list and their internal versions.
Declaration
[ExcludeFromBurstCompatTesting("Accesses managed component store")]
public void GetAllUniqueSharedComponentsManaged<T>(List<T> sharedComponentValues, List<int> sharedComponentIndices, List<int> sharedComponentVersions) where T : struct, ISharedComponentData
Parameters
Type | Name | Description |
---|---|---|
List<T> | sharedComponentValues | A List<T> object to receive the unique instances of the shared component of type T. |
List<int> | sharedComponentIndices | A List<int> object to receive the unique instances of the shared components' indices. |
List<int> | sharedComponentVersions | A List<int> object to receive the unique instances of the shared components' versions. |
Type Parameters
Name | Description |
---|---|
T | The type of shared component. |
Remarks
All entities with the same archetype and the same values for a shared component are stored in the same set
of chunks. This function finds the unique shared components existing across chunks and archetype and
fills a list with copies of those components and fills in two separated lists: One with the indices of those
components in the internal shared component list and one with their internal versions to detect free list
reuse. You can use the indices to ask the same shared components directly
by calling Get