Struct legion::systems::Executor[][src]

pub struct Executor { /* fields omitted */ }

Executes a sequence of systems, potentially in parallel, and then commits their command buffers.

Systems are provided in execution order. When the parallel feature is enabled, the Executor may run some systems in parallel. The order in which side-effects (e.g. writes to resources or entities) are observed is maintained.

Implementations

impl Executor[src]

pub fn new(systems: Vec<Box<dyn ParallelRunnable>>) -> Self[src]

Constructs a new executor for all systems to be run in a single stage.

Systems are provided in the order in which side-effects (e.g. writes to resources or entities) are to be observed.

pub fn into_vec(self) -> Vec<Box<dyn ParallelRunnable>>[src]

Converts this executor into a vector of its component systems.

pub fn execute(&mut self, world: &mut World, resources: &mut Resources)[src]

Executes all systems and then flushes their command buffers.

pub fn run_systems(&mut self, world: &mut World, resources: &UnsafeResources)[src]

Executes all systems, potentially in parallel.

Ordering is retained in so far as the order of observed resource and component accesses is maintained.

Call from within rayon::ThreadPool::install() to execute within a specific thread pool.

pub fn flush_command_buffers(
    &mut self,
    world: &mut World,
    resources: &mut Resources
)
[src]

Flushes the recorded command buffers for all systems.

Trait Implementations

impl Debug for Executor[src]

Auto Trait Implementations

impl !RefUnwindSafe for Executor

impl Send for Executor

impl Sync for Executor

impl Unpin for Executor

impl !UnwindSafe for Executor

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> DowncastSync for T where
    T: Send + Sync + Any
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.