Module legion::systems [−][src]
Expand description
Automatic query scheduling and parallel execution.
Structs
A factory for Schedule
.
A command buffer used to queue mutable changes to the world from a system. This buffer is automatically
flushed and refreshed at the beginning of every frame by Schedule
. If Schedule
is not used,
then the user needs to manually flush it by performing CommandBuffer::flush
.
Executes a sequence of systems, potentially in parallel, and then commits their command buffers.
Unique ID for a resource.
Resources container. Shared resources stored here can be retrieved in systems.
A schedule of systems for execution.
A resource collection which is Send
and Sync
, but which only allows access to resources
which are Sync
.
The concrete type which contains the system closure provided by the user. This struct should
not be constructed directly, and instead should be created using SystemBuilder
.
Structure describing the resource and component access conditions of the system.
A low level builder for constructing systems.
A diagnostic identifier for a system.
A container for resources which performs runtime borrow checking
but does not ensure that !Sync
resources aren’t accessed across threads.
Enums
A step in a schedule.
Traits
A Runnable
which is also Send
and Sync
.
Provides an abstraction across tuples of queries for system closures.
Blanket trait for resource types.
Trait which is implemented for tuples of resources and singular resources. This abstracts fetching resources to allow for ergonomic fetching.
Trait describing a schedulable type. This is implemented by System
A function which can provide the body of a system.
This trait can be used to implement custom world writer types that can be directly
inserted into the command buffer, for more custom and complex world operations. This is analogous
to the CommandBuffer::exec_mut
function type, but does not perform explicit any/any archetype
access.