pub trait Resource: Send + Sync + 'static { }
Expand description
A type that can be inserted into a World
as a singleton.
You can access resource data in systems using the Res
and ResMut
system parameters
Only one resource of each type can be stored in a World
at any given time.
Examples
#[derive(Resource)]
struct MyResource { value: u32 }
world.insert_resource(MyResource { value: 42 });
fn read_resource_system(resource: Res<MyResource>) {
assert_eq!(resource.value, 42);
}
fn write_resource_system(mut resource: ResMut<MyResource>) {
assert_eq!(resource.value, 42);
resource.value = 0;
assert_eq!(resource.value, 0);
}