Struct shred::Resources [] [src]

pub struct Resources { /* fields omitted */ }

A resource container, which provides methods to access to the contained resources.

Resource Ids

Resources are in general identified by ResourceId, which consists of a TypeId and a usize. The usize may be used as an additional identifier. In many cases, there are convenience methods which assume this id is 0.

Methods

impl Resources
[src]

Creates a new, empty resource container.

Adds a new resource to this container.

This method calls add_with_id with 0 for the id.

Panics

Panics if the resource is already registered.

Examples

Every type satisfying Any + Debug + Send + Sync automatically implements Resource:

#[derive(Debug)]
struct MyRes(i32);

When you have a resource, simply register it like this:

use shred::Resources;

let mut res = Resources::new();
res.add(MyRes(5));

Like add(), but allows specifying and id while add() assumes 0.

Returns true if the specified type / id combination is registered.

Fetches the resource with the specified type T. The id is useful if you don't define your resources in Rust or you want a more dynamic resource handling. By default, the #[derive(SystemData)] passes () as id.

Panics

Panics if the resource is being accessed mutably. Also panics if there is no such resource.

Fetches the resource with the specified type T mutably.

Please see fetch for details.

Fetches the resource with the specified type id.

Please see fetch for details.

Fetches the resource with the specified type id mutably.

Please see fetch for details.

Trait Implementations

impl Default for Resources
[src]

Returns the "default value" for a type. Read more