Trait bevy::ecs::system::SystemParamFetch[]

pub trait SystemParamFetch<'a>: SystemParamState {
    type Item;
    pub unsafe fn get_param(
        state: &'a mut Self,
        system_state: &'a SystemState,
        world: &'a World,
        change_tick: u32
    ) -> Self::Item; }

Associated Types

type Item

Loading content...

Required methods

pub unsafe fn get_param(
    state: &'a mut Self,
    system_state: &'a SystemState,
    world: &'a World,
    change_tick: u32
) -> Self::Item

Safety

This call might access any of the input parameters in an unsafe way. Make sure the data access is safe in the context of the system scheduler

Loading content...

Implementations on Foreign Types

impl<'a, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10> SystemParamFetch<'a> for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>,
    P4: SystemParamFetch<'a>,
    P5: SystemParamFetch<'a>,
    P6: SystemParamFetch<'a>,
    P7: SystemParamFetch<'a>,
    P8: SystemParamFetch<'a>,
    P9: SystemParamFetch<'a>,
    P10: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item, <P4 as SystemParamFetch<'a>>::Item, <P5 as SystemParamFetch<'a>>::Item, <P6 as SystemParamFetch<'a>>::Item, <P7 as SystemParamFetch<'a>>::Item, <P8 as SystemParamFetch<'a>>::Item, <P9 as SystemParamFetch<'a>>::Item, <P10 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11> SystemParamFetch<'a> for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>,
    P4: SystemParamFetch<'a>,
    P5: SystemParamFetch<'a>,
    P6: SystemParamFetch<'a>,
    P7: SystemParamFetch<'a>,
    P8: SystemParamFetch<'a>,
    P9: SystemParamFetch<'a>,
    P10: SystemParamFetch<'a>,
    P11: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item, <P4 as SystemParamFetch<'a>>::Item, <P5 as SystemParamFetch<'a>>::Item, <P6 as SystemParamFetch<'a>>::Item, <P7 as SystemParamFetch<'a>>::Item, <P8 as SystemParamFetch<'a>>::Item, <P9 as SystemParamFetch<'a>>::Item, <P10 as SystemParamFetch<'a>>::Item, <P11 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1, P2> SystemParamFetch<'a> for (P0, P1, P2) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1, P2, P3, P4, P5, P6, P7> SystemParamFetch<'a> for (P0, P1, P2, P3, P4, P5, P6, P7) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>,
    P4: SystemParamFetch<'a>,
    P5: SystemParamFetch<'a>,
    P6: SystemParamFetch<'a>,
    P7: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item, <P4 as SystemParamFetch<'a>>::Item, <P5 as SystemParamFetch<'a>>::Item, <P6 as SystemParamFetch<'a>>::Item, <P7 as SystemParamFetch<'a>>::Item)

impl<'a, P0> SystemParamFetch<'a> for (P0,) where
    P0: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item,)

impl<'a> SystemParamFetch<'a> for ()

type Item = ()

impl<'a, P0, P1, P2, P3> SystemParamFetch<'a> for (P0, P1, P2, P3) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14> SystemParamFetch<'a> for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>,
    P4: SystemParamFetch<'a>,
    P5: SystemParamFetch<'a>,
    P6: SystemParamFetch<'a>,
    P7: SystemParamFetch<'a>,
    P8: SystemParamFetch<'a>,
    P9: SystemParamFetch<'a>,
    P10: SystemParamFetch<'a>,
    P11: SystemParamFetch<'a>,
    P12: SystemParamFetch<'a>,
    P13: SystemParamFetch<'a>,
    P14: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item, <P4 as SystemParamFetch<'a>>::Item, <P5 as SystemParamFetch<'a>>::Item, <P6 as SystemParamFetch<'a>>::Item, <P7 as SystemParamFetch<'a>>::Item, <P8 as SystemParamFetch<'a>>::Item, <P9 as SystemParamFetch<'a>>::Item, <P10 as SystemParamFetch<'a>>::Item, <P11 as SystemParamFetch<'a>>::Item, <P12 as SystemParamFetch<'a>>::Item, <P13 as SystemParamFetch<'a>>::Item, <P14 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15> SystemParamFetch<'a> for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13, P14, P15) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>,
    P4: SystemParamFetch<'a>,
    P5: SystemParamFetch<'a>,
    P6: SystemParamFetch<'a>,
    P7: SystemParamFetch<'a>,
    P8: SystemParamFetch<'a>,
    P9: SystemParamFetch<'a>,
    P10: SystemParamFetch<'a>,
    P11: SystemParamFetch<'a>,
    P12: SystemParamFetch<'a>,
    P13: SystemParamFetch<'a>,
    P14: SystemParamFetch<'a>,
    P15: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item, <P4 as SystemParamFetch<'a>>::Item, <P5 as SystemParamFetch<'a>>::Item, <P6 as SystemParamFetch<'a>>::Item, <P7 as SystemParamFetch<'a>>::Item, <P8 as SystemParamFetch<'a>>::Item, <P9 as SystemParamFetch<'a>>::Item, <P10 as SystemParamFetch<'a>>::Item, <P11 as SystemParamFetch<'a>>::Item, <P12 as SystemParamFetch<'a>>::Item, <P13 as SystemParamFetch<'a>>::Item, <P14 as SystemParamFetch<'a>>::Item, <P15 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1, P2, P3, P4, P5, P6, P7, P8> SystemParamFetch<'a> for (P0, P1, P2, P3, P4, P5, P6, P7, P8) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>,
    P4: SystemParamFetch<'a>,
    P5: SystemParamFetch<'a>,
    P6: SystemParamFetch<'a>,
    P7: SystemParamFetch<'a>,
    P8: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item, <P4 as SystemParamFetch<'a>>::Item, <P5 as SystemParamFetch<'a>>::Item, <P6 as SystemParamFetch<'a>>::Item, <P7 as SystemParamFetch<'a>>::Item, <P8 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1, P2, P3, P4, P5> SystemParamFetch<'a> for (P0, P1, P2, P3, P4, P5) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>,
    P4: SystemParamFetch<'a>,
    P5: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item, <P4 as SystemParamFetch<'a>>::Item, <P5 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1> SystemParamFetch<'a> for (P0, P1) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9> SystemParamFetch<'a> for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>,
    P4: SystemParamFetch<'a>,
    P5: SystemParamFetch<'a>,
    P6: SystemParamFetch<'a>,
    P7: SystemParamFetch<'a>,
    P8: SystemParamFetch<'a>,
    P9: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item, <P4 as SystemParamFetch<'a>>::Item, <P5 as SystemParamFetch<'a>>::Item, <P6 as SystemParamFetch<'a>>::Item, <P7 as SystemParamFetch<'a>>::Item, <P8 as SystemParamFetch<'a>>::Item, <P9 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1, P2, P3, P4, P5, P6> SystemParamFetch<'a> for (P0, P1, P2, P3, P4, P5, P6) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>,
    P4: SystemParamFetch<'a>,
    P5: SystemParamFetch<'a>,
    P6: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item, <P4 as SystemParamFetch<'a>>::Item, <P5 as SystemParamFetch<'a>>::Item, <P6 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12> SystemParamFetch<'a> for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>,
    P4: SystemParamFetch<'a>,
    P5: SystemParamFetch<'a>,
    P6: SystemParamFetch<'a>,
    P7: SystemParamFetch<'a>,
    P8: SystemParamFetch<'a>,
    P9: SystemParamFetch<'a>,
    P10: SystemParamFetch<'a>,
    P11: SystemParamFetch<'a>,
    P12: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item, <P4 as SystemParamFetch<'a>>::Item, <P5 as SystemParamFetch<'a>>::Item, <P6 as SystemParamFetch<'a>>::Item, <P7 as SystemParamFetch<'a>>::Item, <P8 as SystemParamFetch<'a>>::Item, <P9 as SystemParamFetch<'a>>::Item, <P10 as SystemParamFetch<'a>>::Item, <P11 as SystemParamFetch<'a>>::Item, <P12 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1, P2, P3, P4> SystemParamFetch<'a> for (P0, P1, P2, P3, P4) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>,
    P4: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item, <P4 as SystemParamFetch<'a>>::Item)

impl<'a, P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13> SystemParamFetch<'a> for (P0, P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12, P13) where
    P0: SystemParamFetch<'a>,
    P1: SystemParamFetch<'a>,
    P2: SystemParamFetch<'a>,
    P3: SystemParamFetch<'a>,
    P4: SystemParamFetch<'a>,
    P5: SystemParamFetch<'a>,
    P6: SystemParamFetch<'a>,
    P7: SystemParamFetch<'a>,
    P8: SystemParamFetch<'a>,
    P9: SystemParamFetch<'a>,
    P10: SystemParamFetch<'a>,
    P11: SystemParamFetch<'a>,
    P12: SystemParamFetch<'a>,
    P13: SystemParamFetch<'a>, 

type Item = (<P0 as SystemParamFetch<'a>>::Item, <P1 as SystemParamFetch<'a>>::Item, <P2 as SystemParamFetch<'a>>::Item, <P3 as SystemParamFetch<'a>>::Item, <P4 as SystemParamFetch<'a>>::Item, <P5 as SystemParamFetch<'a>>::Item, <P6 as SystemParamFetch<'a>>::Item, <P7 as SystemParamFetch<'a>>::Item, <P8 as SystemParamFetch<'a>>::Item, <P9 as SystemParamFetch<'a>>::Item, <P10 as SystemParamFetch<'a>>::Item, <P11 as SystemParamFetch<'a>>::Item, <P12 as SystemParamFetch<'a>>::Item, <P13 as SystemParamFetch<'a>>::Item)

Loading content...

Implementors

impl<'a> SystemParamFetch<'a> for ArchetypesState

type Item = &'a Archetypes

impl<'a> SystemParamFetch<'a> for BundlesState

type Item = &'a Bundles

impl<'a> SystemParamFetch<'a> for CommandQueue

type Item = Commands<'a>

impl<'a> SystemParamFetch<'a> for ComponentsState

type Item = &'a Components

impl<'a> SystemParamFetch<'a> for EntitiesState

type Item = &'a Entities

impl<'a> SystemParamFetch<'a> for SystemChangeTickState

type Item = SystemChangeTick

impl<'a> SystemParamFetch<'a> for DrawContextState<(<ResMut<'a, Assets<PipelineDescriptor>> as SystemParam>::Fetch, <ResMut<'a, Assets<Shader>> as SystemParam>::Fetch, <ResMut<'a, AssetRenderResourceBindings> as SystemParam>::Fetch, <ResMut<'a, PipelineCompiler> as SystemParam>::Fetch, <Res<'a, Box<dyn RenderResourceContext + 'static, Global>> as SystemParam>::Fetch, <ResMut<'a, SharedBuffers> as SystemParam>::Fetch)>

impl<'a, Q0, F0> SystemParamFetch<'a> for QuerySetState<(QueryState<Q0, F0>,)> where
    Q0: 'static + WorldQuery,
    F0: 'static + WorldQuery,
    <F0 as WorldQuery>::Fetch: FilterFetch

type Item = QuerySet<(Query<'a, Q0, F0>,)>

impl<'a, Q0, Q1, F0, F1> SystemParamFetch<'a> for QuerySetState<(QueryState<Q0, F0>, QueryState<Q1, F1>)> where
    Q0: 'static + WorldQuery,
    F0: 'static + WorldQuery,
    Q1: 'static + WorldQuery,
    F1: 'static + WorldQuery,
    <F0 as WorldQuery>::Fetch: FilterFetch,
    <F1 as WorldQuery>::Fetch: FilterFetch

type Item = QuerySet<(Query<'a, Q0, F0>, Query<'a, Q1, F1>)>

impl<'a, Q0, Q1, Q2, F0, F1, F2> SystemParamFetch<'a> for QuerySetState<(QueryState<Q0, F0>, QueryState<Q1, F1>, QueryState<Q2, F2>)> where
    Q0: 'static + WorldQuery,
    F0: 'static + WorldQuery,
    Q1: 'static + WorldQuery,
    F1: 'static + WorldQuery,
    Q2: 'static + WorldQuery,
    F2: 'static + WorldQuery,
    <F0 as WorldQuery>::Fetch: FilterFetch,
    <F1 as WorldQuery>::Fetch: FilterFetch,
    <F2 as WorldQuery>::Fetch: FilterFetch

type Item = QuerySet<(Query<'a, Q0, F0>, Query<'a, Q1, F1>, Query<'a, Q2, F2>)>

impl<'a, Q0, Q1, Q2, Q3, F0, F1, F2, F3> SystemParamFetch<'a> for QuerySetState<(QueryState<Q0, F0>, QueryState<Q1, F1>, QueryState<Q2, F2>, QueryState<Q3, F3>)> where
    Q0: 'static + WorldQuery,
    F0: 'static + WorldQuery,
    Q1: 'static + WorldQuery,
    F1: 'static + WorldQuery,
    Q2: 'static + WorldQuery,
    F2: 'static + WorldQuery,
    Q3: 'static + WorldQuery,
    F3: 'static + WorldQuery,
    <F0 as WorldQuery>::Fetch: FilterFetch,
    <F1 as WorldQuery>::Fetch: FilterFetch,
    <F2 as WorldQuery>::Fetch: FilterFetch,
    <F3 as WorldQuery>::Fetch: FilterFetch

type Item = QuerySet<(Query<'a, Q0, F0>, Query<'a, Q1, F1>, Query<'a, Q2, F2>, Query<'a, Q3, F3>)>

impl<'a, Q, F> SystemParamFetch<'a> for QueryState<Q, F> where
    F: 'static + WorldQuery,
    Q: 'static + WorldQuery,
    <F as WorldQuery>::Fetch: FilterFetch

type Item = Query<'a, Q, F>

impl<'a, T> SystemParamFetch<'a> for EventReaderState<(<Local<'a, (usize, PhantomData<T>)> as SystemParam>::Fetch, <Res<'a, Events<T>> as SystemParam>::Fetch), T> where
    T: Component

type Item = EventReader<'a, T>

impl<'a, T> SystemParamFetch<'a> for EventWriterState<(<ResMut<'a, Events<T>> as SystemParam>::Fetch,), T> where
    T: Component

type Item = EventWriter<'a, T>

impl<'a, T> SystemParamFetch<'a> for LocalState<T> where
    T: Component + FromWorld

type Item = Local<'a, T>

impl<'a, T> SystemParamFetch<'a> for NonSendMutState<T> where
    T: 'static, 

type Item = NonSendMut<'a, T>

impl<'a, T> SystemParamFetch<'a> for NonSendState<T> where
    T: 'static, 

type Item = NonSend<'a, T>

impl<'a, T> SystemParamFetch<'a> for OptionResMutState<T> where
    T: Component

type Item = Option<ResMut<'a, T>>

impl<'a, T> SystemParamFetch<'a> for OptionResState<T> where
    T: Component

type Item = Option<Res<'a, T>>

impl<'a, T> SystemParamFetch<'a> for RemovedComponentsState<T> where
    T: Component

type Item = RemovedComponents<'a, T>

impl<'a, T> SystemParamFetch<'a> for ResMutState<T> where
    T: Component

type Item = ResMut<'a, T>

impl<'a, T> SystemParamFetch<'a> for ResState<T> where
    T: Component

type Item = Res<'a, T>

Loading content...