summaryrefslogtreecommitdiff
path: root/src/package.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/package.hpp')
-rw-r--r--src/package.hpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/package.hpp b/src/package.hpp
new file mode 100644
index 0000000..d847f83
--- /dev/null
+++ b/src/package.hpp
@@ -0,0 +1,35 @@
+#pragma once
+
+#include <string>
+#include <vector>
+
+#include "level.hpp"
+#include "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<TileLevel> &get_levels() const;
+
+ const std::string &get_name() const;
+
+ private:
+ const std::string name;
+
+ Tileset tileset;
+ std::vector<TileLevel> levels;
+
+ int currentLevelIndex;
+ };
+} \ No newline at end of file