#pragma once
#include <string>
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;