use sceller::prelude::*;
#[derive(Debug)]
struct PlayerResource {
name: String,
speed: u32,
}
struct InvalidResource;
fn main() -> Result<()> {
let mut world = World::new();
world.insert_resource(PlayerResource { name: "LoafOfLead".to_owned(), speed: 11 });
let player_res = world.get_resource::<PlayerResource>()?;
println!("Got player resource: {:?}!", player_res);
let mut player_res = world.get_resource_mut::<PlayerResource>()?;
player_res.speed += 1;
player_res.name = "SomebodyElse".to_owned();
println!("Changed player resource: {:?}?", player_res);
let invalid_res = world.get_resource::<InvalidResource>();
println!("Error when accessing invalid resource: {:?}.", invalid_res.err());
Ok(())
}