pub trait IntoSystemConfigs<Marker>: Sized {
    // Provided methods
    fn in_set(self, set: impl FreeSystemSet) -> SystemConfigs { ... }
    fn in_base_set(self, set: impl BaseSystemSet) -> SystemConfigs { ... }
    fn before<M>(self, set: impl IntoSystemSet<M>) -> SystemConfigs { ... }
    fn after<M>(self, set: impl IntoSystemSet<M>) -> SystemConfigs { ... }
    fn distributive_run_if<M>(
        self,
        condition: impl Condition<M> + Clone
    ) -> SystemConfigs { ... }
    fn ambiguous_with<M>(self, set: impl IntoSystemSet<M>) -> SystemConfigs { ... }
    fn ambiguous_with_all(self) -> SystemConfigs { ... }
    fn chain(self) -> SystemConfigs { ... }
}
Expand description

Types that can convert into a SystemConfigs.

Provided Methods§

fn in_set(self, set: impl FreeSystemSet) -> SystemConfigs

Add these systems to the provided set.

fn in_base_set(self, set: impl BaseSystemSet) -> SystemConfigs

Add these systems to the provided “base” set. For more information on base sets, see SystemSet::is_base.

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

Run before all systems in set.

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

Run after all systems in set.

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

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:

app.add_systems((a, b).distributive_run_if(condition));
app.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.

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

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

fn ambiguous_with_all(self) -> SystemConfigs

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

fn chain(self) -> SystemConfigs

Treat this collection as a sequence of systems.

Ordering constraints will be applied between the successive elements.

Implementations on Foreign Types§

§

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> IntoSystemConfigs<(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 S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>, S3: IntoSystemConfig<P3, SystemConfig>, S4: IntoSystemConfig<P4, SystemConfig>, S5: IntoSystemConfig<P5, SystemConfig>, S6: IntoSystemConfig<P6, SystemConfig>, S7: IntoSystemConfig<P7, SystemConfig>, S8: IntoSystemConfig<P8, SystemConfig>, S9: IntoSystemConfig<P9, SystemConfig>, S10: IntoSystemConfig<P10, SystemConfig>, S11: IntoSystemConfig<P11, SystemConfig>, S12: IntoSystemConfig<P12, SystemConfig>, S13: IntoSystemConfig<P13, SystemConfig>,

§

impl<P0, S0> IntoSystemConfigs<(P0,)> for (S0,)where S0: IntoSystemConfig<P0, SystemConfig>,

§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9, P10, S10> IntoSystemConfigs<(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10)where S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>, S3: IntoSystemConfig<P3, SystemConfig>, S4: IntoSystemConfig<P4, SystemConfig>, S5: IntoSystemConfig<P5, SystemConfig>, S6: IntoSystemConfig<P6, SystemConfig>, S7: IntoSystemConfig<P7, SystemConfig>, S8: IntoSystemConfig<P8, SystemConfig>, S9: IntoSystemConfig<P9, SystemConfig>, S10: IntoSystemConfig<P10, SystemConfig>,

§

impl<P0, S0, P1, S1, P2, S2> IntoSystemConfigs<(P0, P1, P2)> for (S0, S1, S2)where S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>,

§

impl IntoSystemConfigs<()> for ()

§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8> IntoSystemConfigs<(P0, P1, P2, P3, P4, P5, P6, P7, P8)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8)where S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>, S3: IntoSystemConfig<P3, SystemConfig>, S4: IntoSystemConfig<P4, SystemConfig>, S5: IntoSystemConfig<P5, SystemConfig>, S6: IntoSystemConfig<P6, SystemConfig>, S7: IntoSystemConfig<P7, SystemConfig>, S8: IntoSystemConfig<P8, SystemConfig>,

§

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> IntoSystemConfigs<(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 S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>, S3: IntoSystemConfig<P3, SystemConfig>, S4: IntoSystemConfig<P4, SystemConfig>, S5: IntoSystemConfig<P5, SystemConfig>, S6: IntoSystemConfig<P6, SystemConfig>, S7: IntoSystemConfig<P7, SystemConfig>, S8: IntoSystemConfig<P8, SystemConfig>, S9: IntoSystemConfig<P9, SystemConfig>, S10: IntoSystemConfig<P10, SystemConfig>, S11: IntoSystemConfig<P11, SystemConfig>, S12: IntoSystemConfig<P12, SystemConfig>, S13: IntoSystemConfig<P13, SystemConfig>, S14: IntoSystemConfig<P14, SystemConfig>,

§

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> IntoSystemConfigs<(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 S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>, S3: IntoSystemConfig<P3, SystemConfig>, S4: IntoSystemConfig<P4, SystemConfig>, S5: IntoSystemConfig<P5, SystemConfig>, S6: IntoSystemConfig<P6, SystemConfig>, S7: IntoSystemConfig<P7, SystemConfig>, S8: IntoSystemConfig<P8, SystemConfig>, S9: IntoSystemConfig<P9, SystemConfig>, S10: IntoSystemConfig<P10, SystemConfig>, S11: IntoSystemConfig<P11, SystemConfig>,

§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6> IntoSystemConfigs<(P0, P1, P2, P3, P4, P5, P6)> for (S0, S1, S2, S3, S4, S5, S6)where S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>, S3: IntoSystemConfig<P3, SystemConfig>, S4: IntoSystemConfig<P4, SystemConfig>, S5: IntoSystemConfig<P5, SystemConfig>, S6: IntoSystemConfig<P6, SystemConfig>,

§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7> IntoSystemConfigs<(P0, P1, P2, P3, P4, P5, P6, P7)> for (S0, S1, S2, S3, S4, S5, S6, S7)where S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>, S3: IntoSystemConfig<P3, SystemConfig>, S4: IntoSystemConfig<P4, SystemConfig>, S5: IntoSystemConfig<P5, SystemConfig>, S6: IntoSystemConfig<P6, SystemConfig>, S7: IntoSystemConfig<P7, SystemConfig>,

§

impl<P0, S0, P1, S1, P2, S2, P3, S3> IntoSystemConfigs<(P0, P1, P2, P3)> for (S0, S1, S2, S3)where S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>, S3: IntoSystemConfig<P3, SystemConfig>,

§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5> IntoSystemConfigs<(P0, P1, P2, P3, P4, P5)> for (S0, S1, S2, S3, S4, S5)where S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>, S3: IntoSystemConfig<P3, SystemConfig>, S4: IntoSystemConfig<P4, SystemConfig>, S5: IntoSystemConfig<P5, SystemConfig>,

§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4> IntoSystemConfigs<(P0, P1, P2, P3, P4)> for (S0, S1, S2, S3, S4)where S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>, S3: IntoSystemConfig<P3, SystemConfig>, S4: IntoSystemConfig<P4, SystemConfig>,

§

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> IntoSystemConfigs<(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 S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>, S3: IntoSystemConfig<P3, SystemConfig>, S4: IntoSystemConfig<P4, SystemConfig>, S5: IntoSystemConfig<P5, SystemConfig>, S6: IntoSystemConfig<P6, SystemConfig>, S7: IntoSystemConfig<P7, SystemConfig>, S8: IntoSystemConfig<P8, SystemConfig>, S9: IntoSystemConfig<P9, SystemConfig>, S10: IntoSystemConfig<P10, SystemConfig>, S11: IntoSystemConfig<P11, SystemConfig>, S12: IntoSystemConfig<P12, SystemConfig>,

§

impl<P0, S0, P1, S1, P2, S2, P3, S3, P4, S4, P5, S5, P6, S6, P7, S7, P8, S8, P9, S9> IntoSystemConfigs<(P0, P1, P2, P3, P4, P5, P6, P7, P8, P9)> for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9)where S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>, S2: IntoSystemConfig<P2, SystemConfig>, S3: IntoSystemConfig<P3, SystemConfig>, S4: IntoSystemConfig<P4, SystemConfig>, S5: IntoSystemConfig<P5, SystemConfig>, S6: IntoSystemConfig<P6, SystemConfig>, S7: IntoSystemConfig<P7, SystemConfig>, S8: IntoSystemConfig<P8, SystemConfig>, S9: IntoSystemConfig<P9, SystemConfig>,

§

impl<P0, S0, P1, S1> IntoSystemConfigs<(P0, P1)> for (S0, S1)where S0: IntoSystemConfig<P0, SystemConfig>, S1: IntoSystemConfig<P1, SystemConfig>,

Implementors§