#pragma once #include "../Engine_Common/Common.h" #include "../Engine_Profiler/Profiler.h" #include <SFML/Graphics.hpp> #include <SFML/Audio/Sound.hpp> #include <SFML/Audio/SoundBuffer.hpp> #include <unordered_map> #include <iostream> class ResourceManagement { protected: // Textures to be loaded std::unordered_map <std::string, sf::Texture*> textures; std::unordered_map <std::string, sf::SoundBuffer*> sounds; public: // Constructor to initalize map for textures and sounds (reserve memory) ResourceManagement(); // Destructor to delete last loaded texture and sound ~ResourceManagement(); // Function to get texture sf::Texture* getTexture(std::string textureName); // Function to get sound sf::SoundBuffer* getSound(std::string soundName); // Function to load the next texture and return a pointer and ID sf::Texture* loadTexture(std::string textureName, std::string texturePath); // Function to load the next sound and return a pointer and ID sf::SoundBuffer* loadSound(std:: string soundName, std::string soundPath); };