#ifndef CRESOURCEMANAGER_HPP #define CRESOURCEMANAGER_HPP #include "Model/CModelManager.hpp" #include "Mesh/CMeshManager.hpp" #include "Material/CMaterialManager.hpp" #include "Audio/CAudioManager.hpp" #include "Shader/CShadersManager.hpp" #include "Texture/CTextureManager.hpp" #include "Font/CFontManager.hpp" class CResourceManager{ private: CModelManager m_modelManager; CMeshManager m_meshManager; CMaterialManager m_materialManager; CTextureManager m_textureManager; CAudioManager m_audioManager; CShadersManager m_shaderManager; CFontManager m_fontManager; CModel2DManager m_model2DManager; CMaterial2DManager m_material2DManager; CMesh2DManager m_mesh2DManager; public: CModelManager& models() { return m_modelManager; } CMeshManager& meshes() { return m_meshManager; } CMaterialManager& materials() { return m_materialManager; } CTextureManager& textures() { return m_textureManager; } CAudioManager& sounds() { return m_audioManager; } CShadersManager& shaders() { return m_shaderManager; } CFontManager& fonts() { return m_fontManager; } CModel2DManager& models2D() {return m_model2DManager;} CMaterial2DManager& materials2D() {return m_material2DManager;} CMesh2DManager& meshes2D() { return m_mesh2DManager; } const CModelManager& models() const { return m_modelManager; } const CMeshManager& meshes() const { return m_meshManager; } const CMaterialManager& materials() const { return m_materialManager; } const CTextureManager& textures() const { return m_textureManager; } const CAudioManager& sounds() const { return m_audioManager; } const CShadersManager& shaders() const { return m_shaderManager; } const CFontManager& fonts() const { return m_fontManager; } const CModel2DManager& models2D() const {return m_model2DManager;} const CMaterial2DManager& materials2D() const {return m_material2DManager;} const CMesh2DManager& meshes2D() const { return m_mesh2DManager; } void cleanup() { m_modelManager.clear(); m_materialManager.clear(); m_meshManager.clear(); m_textureManager.clear(); m_audioManager.clear(); m_fontManager.clear(); m_model2DManager.clear(); m_material2DManager.clear(); m_mesh2DManager.clear(); m_shaderManager.clear(); } }; #endif