4#include <unordered_map>
7#include "coordinate.hpp"
16 std::unordered_map<std::string, std::string> _headers = {};
17 std::vector<LevelZ::LevelObject> _blocks = {};
26 inline std::unordered_map<std::string, std::string>
headers()
const {
34 inline std::vector<LevelObject>
blocks()
const {
44 return _headers == other._headers && _blocks == other._blocks;
53 return _headers != other._headers || _blocks != other._blocks;
118 _headers[
"type"] =
"2";
137 if (_headers.find(
"scroll") == _headers.end())
140 std::string
scroll = _headers.at(
"scroll");
142 if (
scroll ==
"none")
return Scroll::NONE;
143 if (
scroll ==
"horizontal-left")
return Scroll::HORIZONTAL_LEFT;
144 if (
scroll ==
"horizontal-right")
return Scroll::HORIZONTAL_RIGHT;
145 if (
scroll ==
"vertical-up")
return Scroll::VERTICAL_UP;
146 if (
scroll ==
"vertical-down")
return Scroll::VERTICAL_DOWN;
183 _headers[
"type"] =
"3";
Definition coordinate.hpp:28
static Coordinate2D from_string(const std::string &str)
Definition coordinate.hpp:167
Definition coordinate.hpp:177
static Coordinate3D from_string(const std::string &str)
Definition coordinate.hpp:323
Level2D(const std::unordered_map< std::string, std::string > &headers)
Definition level.hpp:106
Level2D()
Definition level.hpp:100
Coordinate2D spawn
Definition level.hpp:95
Level2D(const std::unordered_map< std::string, std::string > &headers, const std::vector< LevelObject > &blocks)
Definition level.hpp:113
Level2D(const Level &level)
Definition level.hpp:130
Scroll scroll()
Definition level.hpp:136
Level3D(const std::unordered_map< std::string, std::string > &headers, const std::vector< LevelObject > &blocks)
Definition level.hpp:178
Level3D(const std::unordered_map< std::string, std::string > &headers)
Definition level.hpp:171
Coordinate3D spawn
Definition level.hpp:160
Level3D(const Level &level)
Definition level.hpp:195
Level3D()
Definition level.hpp:165
bool operator!=(const Level &other) const
Definition level.hpp:52
std::unordered_map< std::string, std::string > headers() const
Definition level.hpp:26
std::vector< LevelObject > blocks() const
Definition level.hpp:34
bool operator==(const Level &other) const
Definition level.hpp:43