1 use std::collections::HashMap;
3 use sdl2::image::LoadTexture;
4 use sdl2::render::Texture;
5 use sdl2::render::TextureCreator;
6 use sdl2::video::WindowContext;
8 pub struct SpriteManager {
9 texture_creator: TextureCreator<WindowContext>, // can't make the lifetimes work when this is owned instead of borrowed
10 textures: HashMap<String, Texture>,
14 pub fn new(texture_creator: TextureCreator<WindowContext>) -> SpriteManager {
17 textures: HashMap::new(),
21 pub fn load(&mut self, name: &str, file: &str) {
24 self.texture_creator.load_texture(file).unwrap(),
28 pub fn get(&self, name: &str) -> &Texture {
31 .unwrap_or_else(|| panic!("The sprite '{}' was not found", name))