#pragma once #include #include #include "level.hpp" #include "sets/tileset.hpp" namespace silly::editor { class LevelPackage { public: LevelPackage(const std::string &name) : name(name) {} ~LevelPackage() = default; TileSet &get_tileset(); void add_level(TileLevel level); TileLevel &get_current_level(); void move_to_level_index(int index); const int get_current_level_index() const; const std::vector &get_levels() const; const std::string &get_name() const; private: const std::string name; TileSet tileset; std::vector levels; int currentLevelIndex = 0; }; }