8#include <unordered_map>
22 class ResourceManager {
24 static std::unordered_map<std::string, Core::PakFile*> mPaks;
26 static std::unordered_map<std::string, Graphics::Texture*> mTextures;
27 static std::unordered_map<std::string, Graphics::Shader*> mShaders;
28 static std::unordered_map<std::string, UI::Font*> mFonts;
29 static std::unordered_map<std::string, Audio::Sound*> mSounds;
31 ResourceManager() =
default;
32 ~ResourceManager() =
default;
55 static void FreePak(
const std::string& pakName);
72 static std::string
GetTextFileFromPak(
const std::string& pakName,
const std::string& fileName);
97 static UI::Font*
GetFont(
const std::string& pakAndFileName,
int fontSize = 48);
Wrapper statique autour de l'api OpenAL pour charger, et lire des sons.
Classe qui charge un fichier PAK en mémoire. On peut ensuite accéder à ses contenus au format Binaire...
Definition pakfile.hpp:28
Classe Shader qui porte un identifiant OpenGL pointant vers le shader compilé
Definition shader.hpp:16
Transporte un ID de texture OpenGL.
Definition texture.hpp:18
Charge une police de caractère en utilisant la lib FreeType, et prépare les caractères.
Definition font.hpp:36
static std::string GetTextFileFromPak(const std::string &pakName, const std::string &fileName)
Renvoie le fichier binaire contenu dans le fichier .pak.
Definition resourcemanager.cpp:54
static Graphics::Shader * GetShader(const std::string &pakAndFileName)
Renvoie un shader précompilé
Definition resourcemanager.cpp:84
static Core::PakFile & LoadPak(const std::string &pakPath, const std::string &name="")
Charge un fichier .pak en mémoire.
Definition resourcemanager.cpp:30
static void FreePak(const std::string &pakName)
Libère le fichier pak chargé à l'endroit donné
Definition resourcemanager.cpp:41
static UI::Font * GetFont(const std::string &pakAndFileName, int fontSize=48)
Renvoie une font préchargée de taille donnée.
Definition resourcemanager.cpp:110
static Audio::Sound * GetSound(const std::string &pakAndFileName, Audio::SoundType soundType=Audio::SoundType::SFX)
Renvoie un fichier audio préchargé
Definition resourcemanager.cpp:132
static Core::Buffer GetBinaryFileFromPak(const std::string &pakName, const std::string &fileName)
Renvoie le fichier binaire contenu dans le fichier .pak.
Definition resourcemanager.cpp:46
static Graphics::Texture * GetTexture(const std::string &pakAndFileName)
Renvoie la texture demandée, et chargée depuis le fichier pak donné
Definition resourcemanager.cpp:62
static void Clear()
Nettoie les registres du gestionnaire de ressources.
Definition resourcemanager.cpp:15
SoundType
SoundType est une énumération qui liste les types de sons dispos dans le moteur.
Definition sound.hpp:23
@ SFX
SFX est le type utilisé pour les "effets" sonores, qui sont joués plusieurs fois.
Definition sound.hpp:27
std::vector< char > Buffer
Definition pakfile.hpp:15
Définit une interface pour lire le contenu des fichiers PAK. Le format PAK étant pensé spécifiquement...
Classe qui encapsule le chargement let l'usage d'un shader OpenGL.
Décrit la structure de donnée pour les sons en mémoire Les sons peuvent être chargés et lus avec l'ap...
Sound est un type de donnée qui contient ce qu'il faut pour jouer un son avec l'api OpenAl.
Definition sound.hpp:33
Définit la classe Texture utilisée dans pas mal de renderers graphiques Son principal intérêt est d...