FetchComponents

Trait FetchComponents 

Source
pub trait FetchComponents {
    type Item<'a>;
    type ReadOnly: FetchComponents;
    type Fetch<'a>;
    type State: Send + Sync + Sized;

    // Required methods
    fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State;
    fn init_fetch<'w>(
        world: &'w World,
        state: &'w Self::State,
        index: ArchetypeIndex,
        tick: Tick,
        last_run: Tick,
    ) -> Self::Fetch<'w>;
    fn init_fetch_opt<'w>(
        world: &'w World,
        state: &'w Self::State,
        index: ArchetypeIndex,
        tick: Tick,
        last_run: Tick,
    ) -> Option<Self::Fetch<'w>>;
    fn fetch<'w>(fetch: &Self::Fetch<'w>, row: Row, e: Entity) -> Self::Item<'w>;
}

Required Associated Types§

Source

type Item<'a>

The item returned by this FetchComponents

Source

type ReadOnly: FetchComponents

ReadOnly

Source

type Fetch<'a>

Per archetype/table state used by this FetchComponents to fetch Self::Item

Source

type State: Send + Sync + Sized

State used to construct a Self::Fetch. This will be cached inside QueryState, so it is best to move as much data / computation here as possible to reduce the cost of constructing Self::Fetch.

Required Methods§

Source

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

initializes ReadWrite for this FetchComponents type.

Source

fn init_fetch<'w>( world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Self::Fetch<'w>

Creates a new instance of this fetch.

§Safety
  • world must have permission to access any of the components specified in Self::update_archetype_component_access.
  • state must have been initialized (via [FetchComponents::init_statee]) using the same world passed in to this function.
Source

fn init_fetch_opt<'w>( world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source

fn fetch<'w>(fetch: &Self::Fetch<'w>, row: Row, e: Entity) -> Self::Item<'w>

Fetch Self::Item for either the given entity in the current [Table], or for the given entity in the current [Archetype]. This must always be called after [FetchComponents::set_table] with a table_row in the range of the current [Table] or after [FetchComponents::set_archetype] with a entity in the current archetype.

§Safety

Must always be called after [FetchComponents::set_table] or [FetchComponents::set_archetype]. entity and table_row must be in the range of the current table and archetype.

If update_component_access includes any mutable accesses, then the caller must ensure that fetch is called no more than once for each entity/table_row in each archetype. If Self implements [ReadOnlyFetchComponents], then this can safely be called multiple times.

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 FetchComponents for ()

Source§

type Fetch<'w> = ()

Source§

type Item<'w> = ()

Source§

type ReadOnly = ()

Source§

type State = ()

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents> FetchComponents for (F0,)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>,)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>,)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly,)

Source§

type State = (<F0 as FetchComponents>::State,)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents> FetchComponents for (F0, F1)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents> FetchComponents for (F0, F1, F2)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents, F3: FetchComponents> FetchComponents for (F0, F1, F2, F3)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>, <F3 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>, <F3 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly, <F3 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State, <F3 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents, F3: FetchComponents, F4: FetchComponents> FetchComponents for (F0, F1, F2, F3, F4)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>, <F3 as FetchComponents>::Fetch<'w>, <F4 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>, <F3 as FetchComponents>::Item<'w>, <F4 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly, <F3 as FetchComponents>::ReadOnly, <F4 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State, <F3 as FetchComponents>::State, <F4 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents, F3: FetchComponents, F4: FetchComponents, F5: FetchComponents> FetchComponents for (F0, F1, F2, F3, F4, F5)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>, <F3 as FetchComponents>::Fetch<'w>, <F4 as FetchComponents>::Fetch<'w>, <F5 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>, <F3 as FetchComponents>::Item<'w>, <F4 as FetchComponents>::Item<'w>, <F5 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly, <F3 as FetchComponents>::ReadOnly, <F4 as FetchComponents>::ReadOnly, <F5 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State, <F3 as FetchComponents>::State, <F4 as FetchComponents>::State, <F5 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents, F3: FetchComponents, F4: FetchComponents, F5: FetchComponents, F6: FetchComponents> FetchComponents for (F0, F1, F2, F3, F4, F5, F6)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>, <F3 as FetchComponents>::Fetch<'w>, <F4 as FetchComponents>::Fetch<'w>, <F5 as FetchComponents>::Fetch<'w>, <F6 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>, <F3 as FetchComponents>::Item<'w>, <F4 as FetchComponents>::Item<'w>, <F5 as FetchComponents>::Item<'w>, <F6 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly, <F3 as FetchComponents>::ReadOnly, <F4 as FetchComponents>::ReadOnly, <F5 as FetchComponents>::ReadOnly, <F6 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State, <F3 as FetchComponents>::State, <F4 as FetchComponents>::State, <F5 as FetchComponents>::State, <F6 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents, F3: FetchComponents, F4: FetchComponents, F5: FetchComponents, F6: FetchComponents, F7: FetchComponents> FetchComponents for (F0, F1, F2, F3, F4, F5, F6, F7)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>, <F3 as FetchComponents>::Fetch<'w>, <F4 as FetchComponents>::Fetch<'w>, <F5 as FetchComponents>::Fetch<'w>, <F6 as FetchComponents>::Fetch<'w>, <F7 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>, <F3 as FetchComponents>::Item<'w>, <F4 as FetchComponents>::Item<'w>, <F5 as FetchComponents>::Item<'w>, <F6 as FetchComponents>::Item<'w>, <F7 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly, <F3 as FetchComponents>::ReadOnly, <F4 as FetchComponents>::ReadOnly, <F5 as FetchComponents>::ReadOnly, <F6 as FetchComponents>::ReadOnly, <F7 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State, <F3 as FetchComponents>::State, <F4 as FetchComponents>::State, <F5 as FetchComponents>::State, <F6 as FetchComponents>::State, <F7 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents, F3: FetchComponents, F4: FetchComponents, F5: FetchComponents, F6: FetchComponents, F7: FetchComponents, F8: FetchComponents> FetchComponents for (F0, F1, F2, F3, F4, F5, F6, F7, F8)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>, <F3 as FetchComponents>::Fetch<'w>, <F4 as FetchComponents>::Fetch<'w>, <F5 as FetchComponents>::Fetch<'w>, <F6 as FetchComponents>::Fetch<'w>, <F7 as FetchComponents>::Fetch<'w>, <F8 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>, <F3 as FetchComponents>::Item<'w>, <F4 as FetchComponents>::Item<'w>, <F5 as FetchComponents>::Item<'w>, <F6 as FetchComponents>::Item<'w>, <F7 as FetchComponents>::Item<'w>, <F8 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly, <F3 as FetchComponents>::ReadOnly, <F4 as FetchComponents>::ReadOnly, <F5 as FetchComponents>::ReadOnly, <F6 as FetchComponents>::ReadOnly, <F7 as FetchComponents>::ReadOnly, <F8 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State, <F3 as FetchComponents>::State, <F4 as FetchComponents>::State, <F5 as FetchComponents>::State, <F6 as FetchComponents>::State, <F7 as FetchComponents>::State, <F8 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents, F3: FetchComponents, F4: FetchComponents, F5: FetchComponents, F6: FetchComponents, F7: FetchComponents, F8: FetchComponents, F9: FetchComponents> FetchComponents for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>, <F3 as FetchComponents>::Fetch<'w>, <F4 as FetchComponents>::Fetch<'w>, <F5 as FetchComponents>::Fetch<'w>, <F6 as FetchComponents>::Fetch<'w>, <F7 as FetchComponents>::Fetch<'w>, <F8 as FetchComponents>::Fetch<'w>, <F9 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>, <F3 as FetchComponents>::Item<'w>, <F4 as FetchComponents>::Item<'w>, <F5 as FetchComponents>::Item<'w>, <F6 as FetchComponents>::Item<'w>, <F7 as FetchComponents>::Item<'w>, <F8 as FetchComponents>::Item<'w>, <F9 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly, <F3 as FetchComponents>::ReadOnly, <F4 as FetchComponents>::ReadOnly, <F5 as FetchComponents>::ReadOnly, <F6 as FetchComponents>::ReadOnly, <F7 as FetchComponents>::ReadOnly, <F8 as FetchComponents>::ReadOnly, <F9 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State, <F3 as FetchComponents>::State, <F4 as FetchComponents>::State, <F5 as FetchComponents>::State, <F6 as FetchComponents>::State, <F7 as FetchComponents>::State, <F8 as FetchComponents>::State, <F9 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents, F3: FetchComponents, F4: FetchComponents, F5: FetchComponents, F6: FetchComponents, F7: FetchComponents, F8: FetchComponents, F9: FetchComponents, F10: FetchComponents> FetchComponents for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>, <F3 as FetchComponents>::Fetch<'w>, <F4 as FetchComponents>::Fetch<'w>, <F5 as FetchComponents>::Fetch<'w>, <F6 as FetchComponents>::Fetch<'w>, <F7 as FetchComponents>::Fetch<'w>, <F8 as FetchComponents>::Fetch<'w>, <F9 as FetchComponents>::Fetch<'w>, <F10 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>, <F3 as FetchComponents>::Item<'w>, <F4 as FetchComponents>::Item<'w>, <F5 as FetchComponents>::Item<'w>, <F6 as FetchComponents>::Item<'w>, <F7 as FetchComponents>::Item<'w>, <F8 as FetchComponents>::Item<'w>, <F9 as FetchComponents>::Item<'w>, <F10 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly, <F3 as FetchComponents>::ReadOnly, <F4 as FetchComponents>::ReadOnly, <F5 as FetchComponents>::ReadOnly, <F6 as FetchComponents>::ReadOnly, <F7 as FetchComponents>::ReadOnly, <F8 as FetchComponents>::ReadOnly, <F9 as FetchComponents>::ReadOnly, <F10 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State, <F3 as FetchComponents>::State, <F4 as FetchComponents>::State, <F5 as FetchComponents>::State, <F6 as FetchComponents>::State, <F7 as FetchComponents>::State, <F8 as FetchComponents>::State, <F9 as FetchComponents>::State, <F10 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents, F3: FetchComponents, F4: FetchComponents, F5: FetchComponents, F6: FetchComponents, F7: FetchComponents, F8: FetchComponents, F9: FetchComponents, F10: FetchComponents, F11: FetchComponents> FetchComponents for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>, <F3 as FetchComponents>::Fetch<'w>, <F4 as FetchComponents>::Fetch<'w>, <F5 as FetchComponents>::Fetch<'w>, <F6 as FetchComponents>::Fetch<'w>, <F7 as FetchComponents>::Fetch<'w>, <F8 as FetchComponents>::Fetch<'w>, <F9 as FetchComponents>::Fetch<'w>, <F10 as FetchComponents>::Fetch<'w>, <F11 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>, <F3 as FetchComponents>::Item<'w>, <F4 as FetchComponents>::Item<'w>, <F5 as FetchComponents>::Item<'w>, <F6 as FetchComponents>::Item<'w>, <F7 as FetchComponents>::Item<'w>, <F8 as FetchComponents>::Item<'w>, <F9 as FetchComponents>::Item<'w>, <F10 as FetchComponents>::Item<'w>, <F11 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly, <F3 as FetchComponents>::ReadOnly, <F4 as FetchComponents>::ReadOnly, <F5 as FetchComponents>::ReadOnly, <F6 as FetchComponents>::ReadOnly, <F7 as FetchComponents>::ReadOnly, <F8 as FetchComponents>::ReadOnly, <F9 as FetchComponents>::ReadOnly, <F10 as FetchComponents>::ReadOnly, <F11 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State, <F3 as FetchComponents>::State, <F4 as FetchComponents>::State, <F5 as FetchComponents>::State, <F6 as FetchComponents>::State, <F7 as FetchComponents>::State, <F8 as FetchComponents>::State, <F9 as FetchComponents>::State, <F10 as FetchComponents>::State, <F11 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents, F3: FetchComponents, F4: FetchComponents, F5: FetchComponents, F6: FetchComponents, F7: FetchComponents, F8: FetchComponents, F9: FetchComponents, F10: FetchComponents, F11: FetchComponents, F12: FetchComponents> FetchComponents for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>, <F3 as FetchComponents>::Fetch<'w>, <F4 as FetchComponents>::Fetch<'w>, <F5 as FetchComponents>::Fetch<'w>, <F6 as FetchComponents>::Fetch<'w>, <F7 as FetchComponents>::Fetch<'w>, <F8 as FetchComponents>::Fetch<'w>, <F9 as FetchComponents>::Fetch<'w>, <F10 as FetchComponents>::Fetch<'w>, <F11 as FetchComponents>::Fetch<'w>, <F12 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>, <F3 as FetchComponents>::Item<'w>, <F4 as FetchComponents>::Item<'w>, <F5 as FetchComponents>::Item<'w>, <F6 as FetchComponents>::Item<'w>, <F7 as FetchComponents>::Item<'w>, <F8 as FetchComponents>::Item<'w>, <F9 as FetchComponents>::Item<'w>, <F10 as FetchComponents>::Item<'w>, <F11 as FetchComponents>::Item<'w>, <F12 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly, <F3 as FetchComponents>::ReadOnly, <F4 as FetchComponents>::ReadOnly, <F5 as FetchComponents>::ReadOnly, <F6 as FetchComponents>::ReadOnly, <F7 as FetchComponents>::ReadOnly, <F8 as FetchComponents>::ReadOnly, <F9 as FetchComponents>::ReadOnly, <F10 as FetchComponents>::ReadOnly, <F11 as FetchComponents>::ReadOnly, <F12 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State, <F3 as FetchComponents>::State, <F4 as FetchComponents>::State, <F5 as FetchComponents>::State, <F6 as FetchComponents>::State, <F7 as FetchComponents>::State, <F8 as FetchComponents>::State, <F9 as FetchComponents>::State, <F10 as FetchComponents>::State, <F11 as FetchComponents>::State, <F12 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents, F3: FetchComponents, F4: FetchComponents, F5: FetchComponents, F6: FetchComponents, F7: FetchComponents, F8: FetchComponents, F9: FetchComponents, F10: FetchComponents, F11: FetchComponents, F12: FetchComponents, F13: FetchComponents> FetchComponents for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>, <F3 as FetchComponents>::Fetch<'w>, <F4 as FetchComponents>::Fetch<'w>, <F5 as FetchComponents>::Fetch<'w>, <F6 as FetchComponents>::Fetch<'w>, <F7 as FetchComponents>::Fetch<'w>, <F8 as FetchComponents>::Fetch<'w>, <F9 as FetchComponents>::Fetch<'w>, <F10 as FetchComponents>::Fetch<'w>, <F11 as FetchComponents>::Fetch<'w>, <F12 as FetchComponents>::Fetch<'w>, <F13 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>, <F3 as FetchComponents>::Item<'w>, <F4 as FetchComponents>::Item<'w>, <F5 as FetchComponents>::Item<'w>, <F6 as FetchComponents>::Item<'w>, <F7 as FetchComponents>::Item<'w>, <F8 as FetchComponents>::Item<'w>, <F9 as FetchComponents>::Item<'w>, <F10 as FetchComponents>::Item<'w>, <F11 as FetchComponents>::Item<'w>, <F12 as FetchComponents>::Item<'w>, <F13 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly, <F3 as FetchComponents>::ReadOnly, <F4 as FetchComponents>::ReadOnly, <F5 as FetchComponents>::ReadOnly, <F6 as FetchComponents>::ReadOnly, <F7 as FetchComponents>::ReadOnly, <F8 as FetchComponents>::ReadOnly, <F9 as FetchComponents>::ReadOnly, <F10 as FetchComponents>::ReadOnly, <F11 as FetchComponents>::ReadOnly, <F12 as FetchComponents>::ReadOnly, <F13 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State, <F3 as FetchComponents>::State, <F4 as FetchComponents>::State, <F5 as FetchComponents>::State, <F6 as FetchComponents>::State, <F7 as FetchComponents>::State, <F8 as FetchComponents>::State, <F9 as FetchComponents>::State, <F10 as FetchComponents>::State, <F11 as FetchComponents>::State, <F12 as FetchComponents>::State, <F13 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<F0: FetchComponents, F1: FetchComponents, F2: FetchComponents, F3: FetchComponents, F4: FetchComponents, F5: FetchComponents, F6: FetchComponents, F7: FetchComponents, F8: FetchComponents, F9: FetchComponents, F10: FetchComponents, F11: FetchComponents, F12: FetchComponents, F13: FetchComponents, F14: FetchComponents> FetchComponents for (F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14)

Source§

type Fetch<'w> = (<F0 as FetchComponents>::Fetch<'w>, <F1 as FetchComponents>::Fetch<'w>, <F2 as FetchComponents>::Fetch<'w>, <F3 as FetchComponents>::Fetch<'w>, <F4 as FetchComponents>::Fetch<'w>, <F5 as FetchComponents>::Fetch<'w>, <F6 as FetchComponents>::Fetch<'w>, <F7 as FetchComponents>::Fetch<'w>, <F8 as FetchComponents>::Fetch<'w>, <F9 as FetchComponents>::Fetch<'w>, <F10 as FetchComponents>::Fetch<'w>, <F11 as FetchComponents>::Fetch<'w>, <F12 as FetchComponents>::Fetch<'w>, <F13 as FetchComponents>::Fetch<'w>, <F14 as FetchComponents>::Fetch<'w>)

Source§

type Item<'w> = (<F0 as FetchComponents>::Item<'w>, <F1 as FetchComponents>::Item<'w>, <F2 as FetchComponents>::Item<'w>, <F3 as FetchComponents>::Item<'w>, <F4 as FetchComponents>::Item<'w>, <F5 as FetchComponents>::Item<'w>, <F6 as FetchComponents>::Item<'w>, <F7 as FetchComponents>::Item<'w>, <F8 as FetchComponents>::Item<'w>, <F9 as FetchComponents>::Item<'w>, <F10 as FetchComponents>::Item<'w>, <F11 as FetchComponents>::Item<'w>, <F12 as FetchComponents>::Item<'w>, <F13 as FetchComponents>::Item<'w>, <F14 as FetchComponents>::Item<'w>)

Source§

type ReadOnly = (<F0 as FetchComponents>::ReadOnly, <F1 as FetchComponents>::ReadOnly, <F2 as FetchComponents>::ReadOnly, <F3 as FetchComponents>::ReadOnly, <F4 as FetchComponents>::ReadOnly, <F5 as FetchComponents>::ReadOnly, <F6 as FetchComponents>::ReadOnly, <F7 as FetchComponents>::ReadOnly, <F8 as FetchComponents>::ReadOnly, <F9 as FetchComponents>::ReadOnly, <F10 as FetchComponents>::ReadOnly, <F11 as FetchComponents>::ReadOnly, <F12 as FetchComponents>::ReadOnly, <F13 as FetchComponents>::ReadOnly, <F14 as FetchComponents>::ReadOnly)

Source§

type State = (<F0 as FetchComponents>::State, <F1 as FetchComponents>::State, <F2 as FetchComponents>::State, <F3 as FetchComponents>::State, <F4 as FetchComponents>::State, <F5 as FetchComponents>::State, <F6 as FetchComponents>::State, <F7 as FetchComponents>::State, <F8 as FetchComponents>::State, <F9 as FetchComponents>::State, <F10 as FetchComponents>::State, <F11 as FetchComponents>::State, <F12 as FetchComponents>::State, <F13 as FetchComponents>::State, <F14 as FetchComponents>::State)

Source§

fn init_state(_world: &mut World, _meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, _state: &'w Self::State, _index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(_fetch: &Self::Fetch<'w>, _row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<T: 'static> FetchComponents for Option<&T>

Source§

type Fetch<'w> = Option<ColumnTick<'w>>

Source§

type Item<'w> = Option<&'w T>

Source§

type ReadOnly = Option<&T>

Source§

type State = Arc<Column>

Source§

fn init_state(world: &mut World, meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(fetch: &Self::Fetch<'w>, row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<T: 'static> FetchComponents for Option<&mut T>

Source§

type Fetch<'w> = Option<ColumnTick<'w>>

Source§

type Item<'w> = Option<Mut<'w, T>>

Source§

type ReadOnly = Option<&'static T>

Source§

type State = Arc<Column>

Source§

fn init_state(world: &mut World, meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(fetch: &Self::Fetch<'w>, row: Row, e: Entity) -> Self::Item<'w>

Source§

impl<T: 'static> FetchComponents for Option<Ref<T>>

Source§

type Fetch<'w> = Option<ColumnTick<'w>>

Source§

type Item<'w> = Option<TickRef<'w, T>>

Source§

type ReadOnly = Option<Ref<T>>

Source§

type State = Arc<Column>

Source§

fn init_state(world: &mut World, meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(fetch: &Self::Fetch<'w>, row: Row, e: Entity) -> Self::Item<'w>

Source§

impl<T: 'static> FetchComponents for Option<Ticker<'_, &T>>

Source§

type Fetch<'w> = Option<ColumnTick<'w>>

Source§

type Item<'w> = Option<Ticker<'w, &'w T>>

Source§

type ReadOnly = Option<Ticker<'static, &'static T>>

Source§

type State = Arc<Column>

Source§

fn init_state(world: &mut World, meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(fetch: &Self::Fetch<'w>, row: Row, e: Entity) -> Self::Item<'w>

Source§

impl<T: 'static> FetchComponents for Option<Ticker<'_, &mut T>>

Source§

type Fetch<'w> = Option<ColumnTick<'w>>

Source§

type Item<'w> = Option<Ticker<'w, &'w mut T>>

Source§

type ReadOnly = Option<Ticker<'static, &'static T>>

Source§

type State = Arc<Column>

Source§

fn init_state(world: &mut World, meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(fetch: &Self::Fetch<'w>, row: Row, e: Entity) -> Self::Item<'w>

Source§

impl<T: 'static> FetchComponents for &T

Source§

type Fetch<'w> = BlobRef<'w>

Source§

type Item<'w> = &'w T

Source§

type ReadOnly = &T

Source§

type State = Arc<Column>

Source§

fn init_state(world: &mut World, meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, state: &'w Self::State, index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, state: &'w Self::State, index: ArchetypeIndex, _tick: Tick, _last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(fetch: &Self::Fetch<'w>, row: Row, _e: Entity) -> Self::Item<'w>

Source§

impl<T: 'static> FetchComponents for &mut T

Source§

type Fetch<'w> = ColumnTick<'w>

Source§

type Item<'w> = Mut<'w, T>

Source§

type ReadOnly = &'static T

Source§

type State = Arc<Column>

Source§

fn init_state(world: &mut World, meta: &mut SystemMeta) -> Self::State

Source§

fn init_fetch<'w>( _world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Self::Fetch<'w>

Source§

fn init_fetch_opt<'w>( _world: &'w World, state: &'w Self::State, index: ArchetypeIndex, tick: Tick, last_run: Tick, ) -> Option<Self::Fetch<'w>>

Source§

fn fetch<'w>(fetch: &Self::Fetch<'w>, row: Row, e: Entity) -> Self::Item<'w>

Implementors§

Source§

impl FetchComponents for Entity

Source§

impl FetchComponents for ArchetypeName<'_>

Source§

impl<T: 'static + FromWorld> FetchComponents for OrDefault<T>

Source§

impl<T: 'static + FromWorld> FetchComponents for OrDefaultRef<T>

Source§

impl<T: 'static> FetchComponents for ComponentId<T>

Source§

impl<T: 'static> FetchComponents for Has<T>

Source§

impl<T: 'static> FetchComponents for Ref<T>

Source§

type Fetch<'w> = ColumnTick<'w>

Source§

type Item<'w> = TickRef<'w, T>

Source§

type ReadOnly = Ref<T>

Source§

type State = Arc<Column>

Source§

impl<T: 'static> FetchComponents for Ticker<'_, &T>

Source§

impl<T: 'static> FetchComponents for Ticker<'_, &mut T>