VoxelEngine/src/world/WorldGenerators.cpp
InfiniteCoder c7755040bd voxels/
2024-08-04 22:42:44 +03:00

30 lines
808 B
C++

#include "WorldGenerators.hpp"
#include <iostream>
#include <content/Content.hpp>
#include <voxels/FlatWorldGenerator.hpp>
#include <voxels/WorldGenerator.hpp>
std::vector<std::string> WorldGenerators::getGeneratorsIDs() {
std::vector<std::string> ids;
for (auto& entry : generators) {
ids.push_back(entry.first);
}
return ids;
}
std::string WorldGenerators::getDefaultGeneratorID() {
return "core:default";
}
std::unique_ptr<WorldGenerator> WorldGenerators::createGenerator(
const std::string& id, const Content* content
) {
auto found = generators.find(id);
if (found == generators.end()) {
throw std::runtime_error("unknown generator id: " + id);
}
return std::unique_ptr<WorldGenerator>(found->second(content));
}