Trait IntoScheduleConfigs

Source
pub trait IntoScheduleConfigs<T, Marker>: Sized
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>,
{ // Required method fn into_configs(self) -> ScheduleConfigs<T>; // Provided methods fn in_set(self, set: impl SystemSet) -> ScheduleConfigs<T> { ... } fn before<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T> { ... } fn after<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T> { ... } fn before_ignore_deferred<M>( self, set: impl IntoSystemSet<M>, ) -> ScheduleConfigs<T> { ... } fn after_ignore_deferred<M>( self, set: impl IntoSystemSet<M>, ) -> ScheduleConfigs<T> { ... } fn distributive_run_if<M>( self, condition: impl Condition<M> + Clone, ) -> ScheduleConfigs<T> { ... } fn run_if<M>(self, condition: impl Condition<M>) -> ScheduleConfigs<T> { ... } fn ambiguous_with<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T> { ... } fn ambiguous_with_all(self) -> ScheduleConfigs<T> { ... } fn chain(self) -> ScheduleConfigs<T> { ... } fn chain_ignore_deferred(self) -> ScheduleConfigs<T> { ... } }
Expand description

Types that can convert into a ScheduleConfigs.

This trait is implemented for “systems” (functions whose arguments all implement SystemParam), or tuples thereof. It is a common entry point for system configurations.

§Usage notes

This trait should only be used as a bound for trait implementations or as an argument to a function. If system configs need to be returned from a function or stored somewhere, use ScheduleConfigs instead of this trait.

§Examples


fn handle_input() {}

fn update_camera() {}
fn update_character() {}

app.add_systems(
    Update,
    (
        handle_input,
        (update_camera, update_character).after(handle_input)
    )
);

Required Methods§

Source

fn into_configs(self) -> ScheduleConfigs<T>

Convert into a ScheduleConfigs.

Provided Methods§

Source

fn in_set(self, set: impl SystemSet) -> ScheduleConfigs<T>

Add these systems to the provided set.

Source

fn before<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>

Runs before all systems in set. If self has any systems that produce Commands or other Deferred operations, all systems in set will see their effect.

If automatically inserting ApplyDeferred like this isn’t desired, use before_ignore_deferred instead.

Calling .chain is often more convenient and ensures that all systems are added to the schedule. Please check the caveats section of .after for details.

Source

fn after<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>

Run after all systems in set. If set has any systems that produce Commands or other Deferred operations, all systems in self will see their effect.

If automatically inserting ApplyDeferred like this isn’t desired, use after_ignore_deferred instead.

Calling .chain is often more convenient and ensures that all systems are added to the schedule.

§Caveats

If you configure two Systems like (GameSystem::A).after(GameSystem::B) or (GameSystem::A).before(GameSystem::B), the GameSystem::B will not be automatically scheduled.

This means that the system GameSystem::A and the system or systems in GameSystem::B will run independently of each other if GameSystem::B was never explicitly scheduled with configure_sets If that is the case, .after/.before will not provide the desired behavior and the systems can run in parallel or in any order determined by the scheduler. Only use after(GameSystem::B) and before(GameSystem::B) when you know that B has already been scheduled for you, e.g. when it was provided by Bevy or a third-party dependency, or you manually scheduled it somewhere else in your app.

Another caveat is that if GameSystem::B is placed in a different schedule than GameSystem::A, any ordering calls between them—whether using .before, .after, or .chain—will be silently ignored.

Source

fn before_ignore_deferred<M>( self, set: impl IntoSystemSet<M>, ) -> ScheduleConfigs<T>

Run before all systems in set.

Unlike before, this will not cause the systems in set to wait for the deferred effects of self to be applied.

Source

fn after_ignore_deferred<M>( self, set: impl IntoSystemSet<M>, ) -> ScheduleConfigs<T>

Run after all systems in set.

Unlike after, this will not wait for the deferred effects of systems in set to be applied.

Source

fn distributive_run_if<M>( self, condition: impl Condition<M> + Clone, ) -> ScheduleConfigs<T>

Add a run condition to each contained system.

Each system will receive its own clone of the Condition and will only run if the Condition is true.

Each individual condition will be evaluated at most once (per schedule run), right before the corresponding system prepares to run.

This is equivalent to calling run_if on each individual system, as shown below:

schedule.add_systems((a, b).distributive_run_if(condition));
schedule.add_systems((a.run_if(condition), b.run_if(condition)));
§Note

Because the conditions are evaluated separately for each system, there is no guarantee that all evaluations in a single schedule run will yield the same result. If another system is run inbetween two evaluations it could cause the result of the condition to change.

Use run_if on a SystemSet if you want to make sure that either all or none of the systems are run, or you don’t want to evaluate the run condition for each contained system separately.

Source

fn run_if<M>(self, condition: impl Condition<M>) -> ScheduleConfigs<T>

Run the systems only if the Condition is true.

The Condition will be evaluated at most once (per schedule run), the first time a system in this set prepares to run.

If this set contains more than one system, calling run_if is equivalent to adding each system to a common set and configuring the run condition on that set, as shown below:

§Examples
schedule.add_systems((a, b).run_if(condition));
schedule.add_systems((a, b).in_set(C)).configure_sets(C.run_if(condition));
§Note

Because the condition will only be evaluated once, there is no guarantee that the condition is upheld after the first system has run. You need to make sure that no other systems that could invalidate the condition are scheduled inbetween the first and last run system.

Use distributive_run_if if you want the condition to be evaluated for each individual system, right before one is run.

Source

fn ambiguous_with<M>(self, set: impl IntoSystemSet<M>) -> ScheduleConfigs<T>

Suppress warnings and errors that would result from these systems having ambiguities (conflicting access but indeterminate order) with systems in set.

Source

fn ambiguous_with_all(self) -> ScheduleConfigs<T>

Suppress warnings and errors that would result from these systems having ambiguities (conflicting access but indeterminate order) with any other system.

Source

fn chain(self) -> ScheduleConfigs<T>

Treat this collection as a sequence of systems.

Ordering constraints will be applied between the successive elements.

If the preceding node on an edge has deferred parameters, an ApplyDeferred will be inserted on the edge. If this behavior is not desired consider using chain_ignore_deferred instead.

Source

fn chain_ignore_deferred(self) -> ScheduleConfigs<T>

Treat this collection as a sequence of systems.

Ordering constraints will be applied between the successive elements.

Unlike chain this will not add ApplyDeferred on the edges.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9, P10, S10, P11, S11, P12, S12, P13, S13, P14, S14, P15, S15, P16, S16, P17, S17, P18, S18, P19, S19, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18, P19)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>, S8: IntoScheduleConfigs<T, P8>, S9: IntoScheduleConfigs<T, P9>, S10: IntoScheduleConfigs<T, P10>, S11: IntoScheduleConfigs<T, P11>, S12: IntoScheduleConfigs<T, P12>, S13: IntoScheduleConfigs<T, P13>, S14: IntoScheduleConfigs<T, P14>, S15: IntoScheduleConfigs<T, P15>, S16: IntoScheduleConfigs<T, P16>, S17: IntoScheduleConfigs<T, P17>, S18: IntoScheduleConfigs<T, P18>, S19: IntoScheduleConfigs<T, P19>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9, P10, S10, P11, S11, P12, S12, P13, S13, P14, S14, P15, S15, P16, S16, P17, S17, P18, S18, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17, P18)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14, S15, S16, S17, S18)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>, S8: IntoScheduleConfigs<T, P8>, S9: IntoScheduleConfigs<T, P9>, S10: IntoScheduleConfigs<T, P10>, S11: IntoScheduleConfigs<T, P11>, S12: IntoScheduleConfigs<T, P12>, S13: IntoScheduleConfigs<T, P13>, S14: IntoScheduleConfigs<T, P14>, S15: IntoScheduleConfigs<T, P15>, S16: IntoScheduleConfigs<T, P16>, S17: IntoScheduleConfigs<T, P17>, S18: IntoScheduleConfigs<T, P18>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9, P10, S10, P11, S11, P12, S12, P13, S13, P14, S14, P15, S15, P16, S16, P17, S17, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16, P17)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14, S15, S16, S17)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>, S8: IntoScheduleConfigs<T, P8>, S9: IntoScheduleConfigs<T, P9>, S10: IntoScheduleConfigs<T, P10>, S11: IntoScheduleConfigs<T, P11>, S12: IntoScheduleConfigs<T, P12>, S13: IntoScheduleConfigs<T, P13>, S14: IntoScheduleConfigs<T, P14>, S15: IntoScheduleConfigs<T, P15>, S16: IntoScheduleConfigs<T, P16>, S17: IntoScheduleConfigs<T, P17>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9, P10, S10, P11, S11, P12, S12, P13, S13, P14, S14, P15, S15, P16, S16, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15, P16)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14, S15, S16)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>, S8: IntoScheduleConfigs<T, P8>, S9: IntoScheduleConfigs<T, P9>, S10: IntoScheduleConfigs<T, P10>, S11: IntoScheduleConfigs<T, P11>, S12: IntoScheduleConfigs<T, P12>, S13: IntoScheduleConfigs<T, P13>, S14: IntoScheduleConfigs<T, P14>, S15: IntoScheduleConfigs<T, P15>, S16: IntoScheduleConfigs<T, P16>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9, P10, S10, P11, S11, P12, S12, P13, S13, P14, S14, P15, S15, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14, S15)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>, S8: IntoScheduleConfigs<T, P8>, S9: IntoScheduleConfigs<T, P9>, S10: IntoScheduleConfigs<T, P10>, S11: IntoScheduleConfigs<T, P11>, S12: IntoScheduleConfigs<T, P12>, S13: IntoScheduleConfigs<T, P13>, S14: IntoScheduleConfigs<T, P14>, S15: IntoScheduleConfigs<T, P15>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9, P10, S10, P11, S11, P12, S12, P13, S13, P14, S14, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>, S8: IntoScheduleConfigs<T, P8>, S9: IntoScheduleConfigs<T, P9>, S10: IntoScheduleConfigs<T, P10>, S11: IntoScheduleConfigs<T, P11>, S12: IntoScheduleConfigs<T, P12>, S13: IntoScheduleConfigs<T, P13>, S14: IntoScheduleConfigs<T, P14>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9, P10, S10, P11, S11, P12, S12, P13, S13, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>, S8: IntoScheduleConfigs<T, P8>, S9: IntoScheduleConfigs<T, P9>, S10: IntoScheduleConfigs<T, P10>, S11: IntoScheduleConfigs<T, P11>, S12: IntoScheduleConfigs<T, P12>, S13: IntoScheduleConfigs<T, P13>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9, P10, S10, P11, S11, P12, S12, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>, S8: IntoScheduleConfigs<T, P8>, S9: IntoScheduleConfigs<T, P9>, S10: IntoScheduleConfigs<T, P10>, S11: IntoScheduleConfigs<T, P11>, S12: IntoScheduleConfigs<T, P12>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9, P10, S10, P11, S11, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>, S8: IntoScheduleConfigs<T, P8>, S9: IntoScheduleConfigs<T, P9>, S10: IntoScheduleConfigs<T, P10>, S11: IntoScheduleConfigs<T, P11>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9, P10, S10, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>, S8: IntoScheduleConfigs<T, P8>, S9: IntoScheduleConfigs<T, P9>, S10: IntoScheduleConfigs<T, P10>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>, S8: IntoScheduleConfigs<T, P8>, S9: IntoScheduleConfigs<T, P9>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7, P8)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>, S8: IntoScheduleConfigs<T, P8>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6, P7)> for (S0, S1, S2, S3, S4, S5, S6, S7)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>, S7: IntoScheduleConfigs<T, P7>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5, P6)> for (S0, S1, S2, S3, S4, S5, S6)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>, S6: IntoScheduleConfigs<T, P6>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4, P5)> for (S0, S1, S2, S3, S4, S5)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>, S5: IntoScheduleConfigs<T, P5>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3, P4)> for (S0, S1, S2, S3, S4)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>, S4: IntoScheduleConfigs<T, P4>,

Source§

impl<P0, S0, P1, S1, P2, S2, P3, S3, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2, P3)> for (S0, S1, S2, S3)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>, S3: IntoScheduleConfigs<T, P3>,

Source§

impl<P0, S0, P1, S1, P2, S2, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1, P2)> for (S0, S1, S2)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>, S2: IntoScheduleConfigs<T, P2>,

Source§

impl<P0, S0, P1, S1, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P0, P1)> for (S0, S1)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S0: IntoScheduleConfigs<T, P0>, S1: IntoScheduleConfigs<T, P1>,

Source§

impl<P, S, T> IntoScheduleConfigs<T, (ScheduleConfigTupleMarker, P)> for (S,)
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>, S: IntoScheduleConfigs<T, P>,

Implementors§

Source§

impl IntoScheduleConfigs<Box<dyn System<Out = Result<(), BevyError>, In = ()>>, ()> for Box<dyn System<Out = Result<(), BevyError>, In = ()>>

Source§

impl<F, Marker> IntoScheduleConfigs<Box<dyn System<Out = Result<(), BevyError>, In = ()>>, (<fn() -> ! as FnRet>::Output, Marker)> for F
where F: IntoSystem<(), <fn() -> ! as FnRet>::Output, Marker>,

Source§

impl<F, Marker> IntoScheduleConfigs<Box<dyn System<Out = Result<(), BevyError>, In = ()>>, (Fallible, Marker)> for F
where F: IntoSystem<(), Result<(), BevyError>, Marker>,

Source§

impl<F, Marker> IntoScheduleConfigs<Box<dyn System<Out = Result<(), BevyError>, In = ()>>, (Infallible, Marker)> for F
where F: IntoSystem<(), (), Marker>,

Source§

impl<S> IntoScheduleConfigs<Interned<dyn SystemSet>, ()> for S
where S: SystemSet,

Source§

impl<T> IntoScheduleConfigs<T, ()> for ScheduleConfigs<T>
where T: Schedulable<Metadata = GraphInfo, GroupMetadata = Chain>,