pub trait DynamicSystemData<'a> {
    type Accessor: Accessor;

    // Required methods
    fn setup(accessor: &Self::Accessor, world: &mut World);
    fn fetch(access: &Self::Accessor, world: &'a World) -> Self;
}
Expand description

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.

Required Associated Types§

source

type Accessor: Accessor

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

Required Methods§

source

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

Sets up World for fetching this system data.

source

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.

Object Safety§

This trait is not object safe.

Implementors§