#ifndef ASSET_SERVICE_H #define ASSET_SERVICE_H #include #include #include "raylib.h" class AssetService { private: AssetService() { setAssets(); }; ~AssetService() = default; std::string assetDir; std::vector fonts; std::vector sounds; std::vector music; public: AssetService(const AssetService&) = delete; AssetService& operator=(const AssetService&) = delete; static AssetService& getInstance() { static AssetService instance; return instance; } std::vector getFonts() { return fonts; } std::vector getSounds() { return sounds; } std::vector getMusic() { return music; } void setAssets(); Font loadFont(std::string filename, int fontSize); Font loadFont(std::string filename); Music loadMusic(std::string filename, bool loops); Sound loadSound(std::string filename); void setAssetDir(std::string assetDir); }; #endif