Find, filter and outline regions
[kaka/rust-sdl-test.git] / src / sprites.rs
index 57fc0a4..70de0c0 100644 (file)
@@ -7,7 +7,7 @@ use sdl2::video::WindowContext;
 
 pub struct SpriteManager {
     texture_creator: TextureCreator<WindowContext>, // can't make the lifetimes work when this is owned instead of borrowed
-    textures: HashMap<&'static str, Texture>,
+    textures: HashMap<String, Texture>,
 }
 
 impl SpriteManager {
@@ -18,11 +18,16 @@ impl SpriteManager {
         }
     }
 
-    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))
     }
 }