Gestion des polices dans le gestionnaire de ressources
This commit is contained in:
		
							parent
							
								
									a6d39aab3d
								
							
						
					
					
						commit
						b11684b906
					
				|  | @ -9,6 +9,7 @@ | |||
| class ResourceManager { | ||||
| private: | ||||
|     std::map<std::string, sf::Texture> textures; | ||||
|     std::map<std::string, sf::Font> fonts; | ||||
|     sf::Music music; | ||||
| 
 | ||||
| public: | ||||
|  | @ -22,6 +23,13 @@ public: | |||
|      */ | ||||
|     sf::Texture& getTexture(std::string name); | ||||
| 
 | ||||
|     /**
 | ||||
|      * Récupère la police demandée. Réutilise une police | ||||
|      * déjà chargée si elle a déjà été demandée, sinon, la | ||||
|      * charge depuis son emplacement | ||||
|      */ | ||||
|     sf::Font& getFont(std::string name); | ||||
| 
 | ||||
|     /**
 | ||||
|      * Change la musique en lecture de fond | ||||
|      * Doit être utilisé pour la lecture en continu | ||||
|  |  | |||
|  | @ -56,6 +56,23 @@ sf::Texture& ResourceManager::getTexture(std::string name) { | |||
|     return textures[name]; | ||||
| } | ||||
| 
 | ||||
| sf::Font& ResourceManager::getFont(std::string name) { | ||||
|     // si la police est déjà chargée, on l'utilise directement
 | ||||
|     if (fonts.count(name) > 0) { | ||||
|         return fonts[name]; | ||||
|     } | ||||
| 
 | ||||
|     sf::Font font; | ||||
| 
 | ||||
|     // tente de charger la police dans le chemin "CWD/res/name"
 | ||||
|     if (!font.loadFromFile(getResourcePath(name))) { | ||||
|         throw std::runtime_error("Impossible de charger la police : " + name); | ||||
|     } | ||||
| 
 | ||||
|     fonts[name] = font; | ||||
|     return fonts[name]; | ||||
| } | ||||
| 
 | ||||
| void ResourceManager::setMusic(std::string name) { | ||||
|     if (!music.openFromFile(getResourcePath(name))) { | ||||
|         throw std::runtime_error("Impossible de charger la musique : " + name); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue