Trait shred::Accessor

source ·
pub trait Accessor: Sized {
    // Required methods
    fn try_new() -> Option<Self>;
    fn reads(&self) -> Vec<ResourceId>;
    fn writes(&self) -> Vec<ResourceId>;
}
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>

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>

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).

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Accessor for ()

source§

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

Implementors§