30 lines
537 B
C++
30 lines
537 B
C++
#pragma once
|
|
|
|
#include <string>
|
|
#include <map>
|
|
|
|
struct World;
|
|
class Renderer;
|
|
|
|
class WorldManager {
|
|
public:
|
|
void loadWorld(const std::string& path);
|
|
|
|
void switchWorld(const std::string& path);
|
|
|
|
void destructResources(Renderer* renderer);
|
|
|
|
World* getCurrentWorld() {
|
|
return currentWorld;
|
|
}
|
|
|
|
World* getWorld(const std::string& path) {
|
|
return loadedWorlds[path];
|
|
}
|
|
|
|
private:
|
|
std::map<std::string, World*> loadedWorlds;
|
|
World* currentWorld = nullptr;
|
|
};
|
|
|
|
inline WorldManager worldManager;
|