Enum bevy::ecs::schedule::SystemDescriptor[]

pub enum SystemDescriptor {
    Parallel(ParallelSystemDescriptor),
    Exclusive(ExclusiveSystemDescriptor),
}

Encapsulates a system and information on when it run in a SystemStage.

Systems can be inserted into 4 different groups within the stage:

  • Parallel, accepts non-exclusive systems.
  • At start, accepts exclusive systems; runs before parallel systems.
  • Before commands, accepts exclusive systems; runs after parallel systems, but before their command buffers are applied.
  • At end, accepts exclusive systems; runs after parallel systems’ command buffers have been applied.

Systems can have one or more labels attached to them; other systems in the same group can then specify that they have to run before or after systems with that label using the before and after methods.

Example

#[derive(SystemLabel, Debug, Clone, PartialEq, Eq, Hash)]
struct Something;

SystemStage::parallel()
    .with_system(do_something.system().label(Something))
    .with_system(do_the_other_thing.system().after(Something))
    .with_system(do_something_else.exclusive_system().at_end());

Variants

Trait Implementations

impl From<Box<dyn System<Out = (), In = ()> + 'static, Global>> for SystemDescriptor

impl From<ExclusiveSystemCoerced> for SystemDescriptor

impl From<ExclusiveSystemDescriptor> for SystemDescriptor

impl From<ExclusiveSystemFn> for SystemDescriptor

impl From<ParallelSystemDescriptor> for SystemDescriptor

impl<S> From<S> for SystemDescriptor where
    S: System<In = (), Out = ()>, 

Auto Trait Implementations

Blanket Implementations

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

impl<T> Any for T where
    T: Any

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

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

impl<T> Component for T where
    T: 'static + Send + Sync

impl<T> Downcast for T where
    T: Any

impl<T> Downcast<T> for T

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

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

impl<T> Instrument for T[src]

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

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.

impl<T> Upcast<T> for T

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,