Gestion des polices dans le gestionnaire de ressources
This commit is contained in:
parent
a6d39aab3d
commit
b11684b906
|
@ -9,6 +9,7 @@
|
||||||
class ResourceManager {
|
class ResourceManager {
|
||||||
private:
|
private:
|
||||||
std::map<std::string, sf::Texture> textures;
|
std::map<std::string, sf::Texture> textures;
|
||||||
|
std::map<std::string, sf::Font> fonts;
|
||||||
sf::Music music;
|
sf::Music music;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
@ -22,6 +23,13 @@ public:
|
||||||
*/
|
*/
|
||||||
sf::Texture& getTexture(std::string name);
|
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
|
* Change la musique en lecture de fond
|
||||||
* Doit être utilisé pour la lecture en continu
|
* Doit être utilisé pour la lecture en continu
|
||||||
|
|
|
@ -56,6 +56,23 @@ sf::Texture& ResourceManager::getTexture(std::string name) {
|
||||||
return textures[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) {
|
void ResourceManager::setMusic(std::string name) {
|
||||||
if (!music.openFromFile(getResourcePath(name))) {
|
if (!music.openFromFile(getResourcePath(name))) {
|
||||||
throw std::runtime_error("Impossible de charger la musique : " + name);
|
throw std::runtime_error("Impossible de charger la musique : " + name);
|
||||||
|
|
Loading…
Reference in New Issue