[][src]Trait shred::DynamicSystemData

pub trait DynamicSystemData<'a> {
    type Accessor: Accessor;
    fn setup(accessor: &Self::Accessor, world: &mut World);
fn fetch(access: &Self::Accessor, world: &'a World) -> Self; }

A struct implementing system data indicates that it bundles some resources which are required for the execution.

This is the more flexible, but complex variant of SystemData.

Associated Types

type Accessor: Accessor

The accessor of the SystemData, which specifies the read and write dependencies and does the fetching.

Loading content...

Required methods

fn setup(accessor: &Self::Accessor, world: &mut World)

Sets up World for fetching this system data.

fn fetch(access: &Self::Accessor, world: &'a World) -> Self

Creates a new resource bundle by fetching the required resources from the World struct.

Contract

Only fetch the resources you returned from reads / writes!

Panics

This function may panic if the above contract is violated. This function may panic if the resource doesn't exist. This is only the case if either setup was not called or it didn't insert any fallback value.

Loading content...

Implementors

impl<'a> DynamicSystemData<'a> for BatchUncheckedWorld<'a>[src]

type Accessor = BatchAccessor

impl<'a, T> DynamicSystemData<'a> for T where
    T: SystemData<'a>, 
[src]

type Accessor = StaticAccessor<T>

Loading content...