Attribute signifying the given type is acceptable for serializing into Chunk storage. Data in Chunk storage is treated as blittable with no special pre or post processing.
An abstract class to implement in order to create a system.
A system provides behavior in an ECS architecture.
Prevents a system from being automatically created and run.
What is this : Attribute signaling that ref returned values, of a type that has this attribute, cannot intersect with calls to methods that also have this attribute. Motivation(s): ref returns of values that are backed by native memory (unsafe), like IComponentData in ecs chunks, can have the referenced memory invalidated by certain methods. A way is needed to detect these situations a compilation time to prevent accessing invalidated references. Notes:
- This attribute is used/feeds a Static Analyzer at compilation time.
- Attribute transfers with aggragations: struct A has this attribute, struct B has a field of type A; both A and B are concidered to have the attribute.
A system that provides EntityCommandBuffer objects for other systems.
The EntityManager manages entities and components in a World.
Provides information and utility functions for debugging.
A EntityQuery provides a queryDesc-based view of your component data.
Defines a queryDesc to find archetypes with specific components.
An abstract class to implement in order to create a system that uses ECS-specific Jobs.
Attribute used to make an int field display as a layer selector drop-down.
For internal use only.
[WriteGroup] Can exclude components which are unknown at the time of creating the query that have been declared to write to the same component.
This allows for extending systems of components safely without editing the previously existing systems.
The goal is to have a way for systems that expect to transform data from one set of components (inputs) to another (output[s]) be able to declare that explicit transform, and they exclusively know about one set of inputs. If there are other inputs that want to write to the same output, the query shouldn't match because it's a nonsensical/unhandled setup. It's both a way to guard against nonsensical components (having two systems write to the same output value), and a way to "turn off" existing systems/queries by putting a component with the same write lock on an entity, letting another system handle it.
Disables the entity. By default EntityQuery does not include entities containing the Disabled component.
Identifies an entity.
An EntityArchetype is a unique combination of component types. The EntityManager uses the archetype to group all entities that have the same sets of components.
A thread-safe command buffer that can buffer commands that affect entities and components for later playback.
Allows concurrent (deterministic) command buffer recording.
Low-level utility functions for AOS->SOA (scatter) and SOA->AOS (gather) conversions.
The LinkedEntityGroup buffer makes the entity be the root of a set of connected entities. Referenced Prefabs automatically add a LinkedEntityGroup with the complete child hierarchy. EntityManager.Instantiate uses LinkedEntityGroup to instantiate the whole set of entities automatically. EntityManager.SetEnabled uses LinkedEntityGroup to enable the whole set of entities.
Assign Value to each element of NativeArray
Merge sort index list referencing NativeArray values. Provide list of shared values, indices to shared values, and lists of source i value indices with identical shared value. As an example: Given Source NativeArray: [A,A,A,B,B,C,C,A,B] Provides: Shared value indices: [0,0,0,1,1,2,2,0,1] Shared value counts: [4,3,2] (number of occurrences of a shared value) Shared values: [A,B,C] (not stored in this structure) Sorted indices: [0,1,2,7,3,4,8,5,6] (using these indices to look up values in the source array would give you [A,A,A,A,B,B,B,C,C]) Shared value start offsets (into sorted indices): [0,4,7]
Marks the entity as a prefab, which implicitly disables the entity. By default EntityQuery does not include entities containing the Prefab component.
The bit flags to use for the Options field.
For internal use only.