/********************\ | Copyright 2024, | | Ulysse Cura | \********************/ ///////////////////////////////////////////////////////////////////////// // // // Declaration de la classe TextureManager, elle sert a charger des // // texture dans la memoire pour eviter de les recharger tout le temps. // // // ///////////////////////////////////////////////////////////////////////// #ifndef TEXTURE_MANAGER_HPP #define TEXTURE_MANAGER_HPP #include #include #include #include using std::string, std::unique_ptr, std::unordered_map; class TextureManager { public: SDL_Texture *LoadTexture(const string &); // Renvoie une texture depuis l'unordered_map ou charge depuis le disque puis renvoie la texture void Draw(SDL_Texture *, SDL_Rect, SDL_Rect, bool); // Dessine la texture passé sur l'écran void Erase(const string &); // Efface dans l'unordered_map la texture correspondante void Clear(); // Clear tout l'unordered_map private: using texture_ptr = unique_ptr; unordered_map m_textures; }; #endif