Trait legion::systems::ResourceSet [−][src]
Trait which is implemented for tuples of resources and singular resources. This abstracts fetching resources to allow for ergonomic fetching.
Example:
struct TypeA(usize); struct TypeB(usize); let mut resources = Resources::default(); resources.insert(TypeA(55)); resources.insert(TypeB(12)); { let (a, mut b) = <(Read<TypeA>, Write<TypeB>)>::fetch_mut(&mut resources); assert_ne!(a.0, b.0); b.0 = a.0; } { let (a, b) = <(Read<TypeA>, Read<TypeB>)>::fetch(&resources); assert_eq!(a.0, b.0); }
Associated Types
Loading content...Required methods
unsafe fn fetch_unchecked(resources: &'a UnsafeResources) -> Self::Result
[src]
Fetches all defined resources, without checking mutability.
Safety
It is up to the end user to validate proper mutability rules across the resources being accessed.
Provided methods
fn fetch_mut(resources: &'a mut Resources) -> Self::Result
[src]
Fetches all defined resources.
fn fetch(resources: &'a Resources) -> Self::Result where
Self: ReadOnly,
[src]
Self: ReadOnly,
Fetches all defined resources.