5#ifndef TILESON_CHUNK_HPP
6#define TILESON_CHUNK_HPP
9#include "../objects/Vector2.hpp"
20 [[nodiscard]]
inline const std::vector<int> &
getData()
const;
21 [[nodiscard]]
inline const std::string &
getBase64Data()
const;
26 std::vector<int> m_data;
27 std::string m_base64Data;
53 if(json.
count(
"width") > 0 && json.
count(
"height") > 0)
54 m_size = {json[
"width"].
get<
int>(), json[
"height"].get<int>()};
else allFound =
false;
56 m_position = {json[
"x"].
get<
int>(), json[
"y"].get<int>()};
else allFound =
false;
59 if(json.
count(
"data") > 0)
61 if(json[
"data"].isArray())
63 auto &data = json.
array(
"data");
64 std::for_each(data.begin(), data.end(), [&](std::unique_ptr<IJson> &item) { m_data.push_back(item->get<int>()); });
67 m_base64Data = json[
"data"].
get<std::string>();
const Vector2i & getSize() const
Definition Chunk.hpp:95
const std::string & getBase64Data() const
Definition Chunk.hpp:86
const std::vector< int > & getData() const
Definition Chunk.hpp:77
bool parse(IJson &json)
Definition Chunk.hpp:49
const Vector2i & getPosition() const
Definition Chunk.hpp:104
T get(std::string_view key)
Definition IJson.hpp:82
virtual size_t count(std::string_view key) const =0
virtual std::vector< std::unique_ptr< IJson > > array()=0