#pragma once #include "dinkyecs.hpp" #include "lights.hpp" #include "map.hpp" #include #include struct GameLevel { size_t index = 0; std::shared_ptr map = nullptr; std::shared_ptr world = nullptr; std::shared_ptr lights = nullptr; }; class LevelManager { public: std::vector $levels; size_t $current_level = 0; LevelManager(); size_t create_level(); GameLevel &next(); GameLevel &previous(); GameLevel ¤t(); size_t current_index(); GameLevel &get(size_t index); };