#pragma once #include #include #include "typedefs.hpp" #include "maths/Heightmap.hpp" class GeneratorScript { public: virtual ~GeneratorScript() = default; virtual std::shared_ptr generateHeightmap( const glm::ivec2& offset, const glm::ivec2& size) = 0; }; struct GeneratorDef { std::string name; std::unique_ptr script; GeneratorDef(std::string name) : name(std::move(name)) {} GeneratorDef(const GeneratorDef&) = delete; };