Trait specs::Accessor

source ·
pub trait Accessor: Sized {
    // Required methods
    fn try_new() -> Option<Self>;
    fn reads(&self) -> Vec<ResourceId, Global>;
    fn writes(&self) -> Vec<ResourceId, Global>;
}
Expand description

A trait for accessing read/write multiple resources from a system. This can be used to create dynamic systems that don’t specify what they fetch at compile-time.

For compile-time system data this will all be done for you using StaticAccessor.

Required Methods§

source

fn try_new() -> Option<Self>

Tries to create a new instance of this type. This one returns Some in case there is a default, otherwise the system needs to override System::accessor.

source

fn reads(&self) -> Vec<ResourceId, Global>

A list of ResourceIds the bundle needs read access to in order to build the target resource bundle.

Contract

Exactly return the dependencies you’re going to fetch! Doing otherwise will cause a panic.

This method is only executed once, thus the returned value may never change (otherwise it has no effect).

source

fn writes(&self) -> Vec<ResourceId, Global>

A list of ResourceIds the bundle needs write access to in order to build the target resource bundle.

Contract

Exactly return the dependencies you’re going to fetch! Doing otherwise will cause a panic.

This method is only executed once, thus the returned value may never change (otherwise it has no effect).

Implementations on Foreign Types§

source§

impl Accessor for ()

source§

impl<T> Accessor for PhantomData<T>where T: ?Sized,

Implementors§