Class ComponentSystemBase
A system provides behavior in an ECS architecture.
Namespace: Unity.Entities
Assembly: Unity.Entities.dll
Syntax
[RequireDerived]
public abstract class ComponentSystemBase
Remarks
System implementations should inherit SystemBase, which is a subclass of ComponentSystemBase.
Constructors
Name | Description |
---|---|
ComponentSystemBase() | Initializes and returns an instance of a system. |
Properties
Name | Description |
---|---|
Enabled | Controls whether this system executes when its OnUpdate function is called. |
EntityManager | The EntityManager object of the World in which this system exists. |
EntityQueries | The query objects cached by this system. |
GlobalSystemVersion | The current change version number in this World. |
LastSystemVersion | The current version of this system. |
SystemHandle | The SystemHandle of this system. |
SystemHandleUntyped | Obsolete. Use SystemHandle instead. |
Time | |
World | The World in which this system exists. |
WorldUpdateAllocator | Retrieve world update allocator from system state. |
Methods
Name | Description |
---|---|
GetBufferFromEntity<T>(bool) | Obsolete. Use GetBufferLookup<T>(bool) instead. |
GetBufferLookup<T>(bool) | Manually gets a BufferLookup<T> object that can access a DynamicBuffer<T>. |
GetBufferTypeHandle<T>(bool) | Manually gets the run-time type information required to access an array of buffer components in a chunk. |
GetComponentDataFromEntity<T>(bool) | Obsolete. Use GetComponentLookup<T>(bool) instead. |
GetComponentLookup<T>(bool) | Manually gets a dictionary-like container containing all components of type T, keyed by Entity. |
GetComponentTypeHandle<T>(bool) | Manually gets the run-time type information required to access an array of component data in a chunk. |
GetDynamicComponentTypeHandle(ComponentType) | Manually gets the run-time type information required to access an array of component data in a chunk. |
GetDynamicSharedComponentTypeHandle(ComponentType) | Manually gets the run-time type information required to access a shared component data in a chunk. |
GetEntityQuery(NativeArray<ComponentType>) | Gets the cached query for the specified component types, if one exists; otherwise, creates a new query instance and caches it. |
GetEntityQuery(params ComponentType[]) | Gets the cached query for the specified component types, if one exists; otherwise, creates a new query instance and caches it. |
GetEntityQuery(in EntityQueryBuilder) | Create an entity query from a query description builder. |
GetEntityQuery(params EntityQueryDesc[]) | Combines an array of query description objects into a single query. |
GetEntityStorageInfoLookup() | Manually gets an EntityStorageInfoLookup object that can access a EntityStorageInfo. |
GetEntityTypeHandle() | Manually gets the run-time type information required to access the array of Entity objects in a chunk. |
GetSharedComponentTypeHandle<T>() | Manually gets the run-time type information required to access a shared component data in a chunk. |
GetSingletonBuffer<T>(bool) | Gets the value of a singleton buffer component. |
GetSingletonEntity<T>() | Gets the Entity instance for a singleton. |
GetSingletonRW<T>() | Gets a reference to the singleton component, for read/write access. |
GetSingleton<T>() | Gets the value of a singleton component. |
GetStorageInfoFromEntity() | Obsolete. Use GetEntityStorageInfoLookup() instead. |
HasSingleton<T>() | Checks whether a singleton component of the specified type exists. |
OnCreate() | Called when this system is created. |
OnDestroy() | Called when this system is destroyed. |
OnStartRunning() | Called before the first call to OnUpdate and when a system resumes updating after being stopped or disabled. |
OnStopRunning() | Called when this system stops running because no entities match the system's EntityQuery objects or because you change the system Enabled property to false. |
RequireAnyForUpdate(NativeArray<EntityQuery>) | Provide a set of queries, one of which must match entities for the system to run. |
RequireAnyForUpdate(params EntityQuery[]) | Provide a set of queries, one of which must match entities for the system to run. |
RequireForUpdate(EntityQuery) | Adds a query that must match entities for the system to run. You can add multiple required queries to a system; all of them must match at least one entity for the system to run. |
RequireForUpdate<T>() | Require that a specific component exist for this system to run. Also includes any components added to a system. See SystemHandle for more info on that. |
RequireSingletonForUpdate<T>() | Obsolete. Use RequireForUpdate<T>() instead. |
SetSingleton<T>(T) | Sets the value of a singleton component. |
ShouldRunSystem() | Reports whether this system satisfies the criteria to update. This function is used internally to determine whether the system's OnUpdate function can be skipped. |
TryGetSingletonBuffer<T>(out DynamicBuffer<T>) | Gets the value of a singleton buffer component, and returns whether or not a singleton buffer component of the specified type exists in the World. |
TryGetSingletonEntity<T>(out Entity) | Gets the singleton Entity, and returns whether or not a singleton Entity of the specified type exists in the World. |
TryGetSingleton<T>(out T) | Gets the value of a singleton component, and returns whether or not a singleton component of the specified type exists in the World. |
Update() | Executes the system immediately. |