X-Git-Url: http://git.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fsprites.rs;h=631f6ce6f3c0317617870dbc3069e707f59393c9;hb=fea68d56aa10f9e91f922323676ef7ff468340f6;hp=82dd6dc193f5564774c22c8a1caf30ab259f7849;hpb=cdf8f998d161abafcff3cd8503c9ec81e9c372f3;p=kaka%2Frust-sdl-test.git diff --git a/src/sprites.rs b/src/sprites.rs index 82dd6dc..631f6ce 100644 --- a/src/sprites.rs +++ b/src/sprites.rs @@ -5,24 +5,24 @@ use sdl2::render::Texture; use sdl2::render::TextureCreator; use sdl2::video::WindowContext; -pub struct SpriteManager<'canvas> { - texture_creator: &'canvas TextureCreator, // can't make the lifetimes work when this is owned instead of borrowed - textures: HashMap<&'static str, Texture<'canvas>>, +pub struct SpriteManager { + texture_creator: TextureCreator, // can't make the lifetimes work when this is owned instead of borrowed + textures: HashMap, } -impl<'canvas> SpriteManager<'canvas> { - pub fn new(texture_creator: &'canvas TextureCreator) -> SpriteManager<'canvas> { +impl SpriteManager { + pub fn new(texture_creator: TextureCreator) -> SpriteManager { SpriteManager { texture_creator, textures: HashMap::new(), } } - pub fn load(&mut self, name: &'static str, file: &str) { - self.textures.insert(name, self.texture_creator.load_texture(file).unwrap()); + pub fn load(&mut self, name: &str, file: &str) { + self.textures.insert(name.to_string(), self.texture_creator.load_texture(file).unwrap()); } pub fn get(&self, name: &str) -> &Texture { - self.textures.get(name).expect(format!("The sprite '{}' was not found", name).as_str()) + self.textures.get(name).unwrap_or_else(|| panic!("The sprite '{}' was not found", name)) } }