Trait bevy_state::state::StateSet

source ·
pub trait StateSet: StateSetSealed {
    const SET_DEPENDENCY_DEPTH: usize;

    // Required methods
    fn register_computed_state_systems_in_schedule<T: ComputedStates<SourceStates = Self>>(
        schedule: &mut Schedule
    );
    fn register_sub_state_systems_in_schedule<T: SubStates<SourceStates = Self>>(
        schedule: &mut Schedule
    );
}
Expand description

A States type or tuple of types which implement States.

This trait is used allow implementors of States, as well as tuples containing exclusively implementors of States, to be used as ComputedStates::SourceStates.

It is sealed, and auto implemented for all States types and tuples containing them.

Required Associated Constants§

source

const SET_DEPENDENCY_DEPTH: usize

The total DEPENDENCY_DEPTH of all the states that are part of this StateSet, added together.

Used to de-duplicate computed state executions and prevent cyclic computed states.

Required Methods§

source

fn register_computed_state_systems_in_schedule<T: ComputedStates<SourceStates = Self>>( schedule: &mut Schedule )

Sets up the systems needed to compute T whenever any State in this StateSet is changed.

source

fn register_sub_state_systems_in_schedule<T: SubStates<SourceStates = Self>>( schedule: &mut Schedule )

Sets up the systems needed to compute whether T exists whenever any State in this StateSet is changed.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<S0: InnerStateSet> StateSet for (S0,)

source§

impl<S0: InnerStateSet, S1: InnerStateSet> StateSet for (S0, S1)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet> StateSet for (S0, S1, S2)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet, S3: InnerStateSet> StateSet for (S0, S1, S2, S3)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet, S3: InnerStateSet, S4: InnerStateSet> StateSet for (S0, S1, S2, S3, S4)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet, S3: InnerStateSet, S4: InnerStateSet, S5: InnerStateSet> StateSet for (S0, S1, S2, S3, S4, S5)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet, S3: InnerStateSet, S4: InnerStateSet, S5: InnerStateSet, S6: InnerStateSet> StateSet for (S0, S1, S2, S3, S4, S5, S6)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet, S3: InnerStateSet, S4: InnerStateSet, S5: InnerStateSet, S6: InnerStateSet, S7: InnerStateSet> StateSet for (S0, S1, S2, S3, S4, S5, S6, S7)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet, S3: InnerStateSet, S4: InnerStateSet, S5: InnerStateSet, S6: InnerStateSet, S7: InnerStateSet, S8: InnerStateSet> StateSet for (S0, S1, S2, S3, S4, S5, S6, S7, S8)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet, S3: InnerStateSet, S4: InnerStateSet, S5: InnerStateSet, S6: InnerStateSet, S7: InnerStateSet, S8: InnerStateSet, S9: InnerStateSet> StateSet for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet, S3: InnerStateSet, S4: InnerStateSet, S5: InnerStateSet, S6: InnerStateSet, S7: InnerStateSet, S8: InnerStateSet, S9: InnerStateSet, S10: InnerStateSet> StateSet for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet, S3: InnerStateSet, S4: InnerStateSet, S5: InnerStateSet, S6: InnerStateSet, S7: InnerStateSet, S8: InnerStateSet, S9: InnerStateSet, S10: InnerStateSet, S11: InnerStateSet> StateSet for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet, S3: InnerStateSet, S4: InnerStateSet, S5: InnerStateSet, S6: InnerStateSet, S7: InnerStateSet, S8: InnerStateSet, S9: InnerStateSet, S10: InnerStateSet, S11: InnerStateSet, S12: InnerStateSet> StateSet for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet, S3: InnerStateSet, S4: InnerStateSet, S5: InnerStateSet, S6: InnerStateSet, S7: InnerStateSet, S8: InnerStateSet, S9: InnerStateSet, S10: InnerStateSet, S11: InnerStateSet, S12: InnerStateSet, S13: InnerStateSet> StateSet for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13)

source§

impl<S0: InnerStateSet, S1: InnerStateSet, S2: InnerStateSet, S3: InnerStateSet, S4: InnerStateSet, S5: InnerStateSet, S6: InnerStateSet, S7: InnerStateSet, S8: InnerStateSet, S9: InnerStateSet, S10: InnerStateSet, S11: InnerStateSet, S12: InnerStateSet, S13: InnerStateSet, S14: InnerStateSet> StateSet for (S0, S1, S2, S3, S4, S5, S6, S7, S8, S9, S10, S11, S12, S13, S14)

Implementors§

source§

impl<S: InnerStateSet> StateSet for S

source§

const SET_DEPENDENCY_DEPTH: usize = S::DEPENDENCY_DEPTH