#pragma once #include struct MeshAsset; struct MaterialAsset; class Renderer; struct AudioAsset; class AudioSystem; class AssetManager { public: void setRenderer(Renderer* r) { renderer = r; } void setAudioSystem(AudioSystem* a) { audioSystem = a; } MeshAsset* loadMesh(const std::string& path); MaterialAsset* loadMaterial(const std::string& path); AudioAsset* loadAudio(const std::string& path); private: Renderer* renderer = nullptr; AudioSystem* audioSystem = nullptr; }; inline AssetManager assetManager;