Use String instead of &str in struct
authorTomas Wenström <tomas.wenstrom@gmail.com>
Sat, 2 Jan 2021 18:37:52 +0000 (19:37 +0100)
committerTomas Wenström <tomas.wenstrom@gmail.com>
Sat, 2 Jan 2021 18:37:52 +0000 (19:37 +0100)
It makes things a lot easier

src/game/app.rs
src/sprites.rs

index e1fafdc..50acaa1 100644 (file)
@@ -48,7 +48,7 @@ impl App {
         }
     }
 
-    pub fn load_sprites(&mut self, sprites: &[(&'static str, &str)]) {
+    pub fn load_sprites(&mut self, sprites: &[(&str, &str)]) {
         for (name, file) in sprites {
             self.sprites.load(name, file);
         }
index 0de3468..631f6ce 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,8 +18,8 @@ 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 {