Porytiles
Loading...
Searching...
No Matches
project_tileset_metadata.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <optional>
4#include <string>
5
6namespace porytiles {
7
38 public:
51 std::string name,
52 bool is_secondary,
53 std::string tiles_var,
54 std::string palettes_var,
55 std::string metatiles_var,
56 std::string metatile_attributes_var,
57 std::optional<std::string> callback_func)
58 : name_{std::move(name)}, is_secondary_{is_secondary}, tiles_var_{std::move(tiles_var)},
59 palettes_var_{std::move(palettes_var)}, metatiles_var_{std::move(metatiles_var)},
60 metatile_attributes_var_{std::move(metatile_attributes_var)}, callback_func_{std::move(callback_func)}
61 {
62 }
63
69 [[nodiscard]] const std::string &name() const
70 {
71 return name_;
72 }
73
79 [[nodiscard]] bool is_secondary() const
80 {
81 return is_secondary_;
82 }
83
89 [[nodiscard]] const std::string &tiles_var() const
90 {
91 return tiles_var_;
92 }
93
99 [[nodiscard]] const std::string &palettes_var() const
100 {
101 return palettes_var_;
102 }
103
109 [[nodiscard]] const std::string &metatiles_var() const
110 {
111 return metatiles_var_;
112 }
113
119 [[nodiscard]] const std::string &metatile_attributes_var() const
120 {
121 return metatile_attributes_var_;
122 }
123
129 [[nodiscard]] const std::optional<std::string> &callback_func() const
130 {
131 return callback_func_;
132 }
133
142 [[nodiscard]] bool has_animations() const
143 {
144 return callback_func_.has_value() && callback_func_.value() != "NULL";
145 }
146
147 private:
148 std::string name_;
149 bool is_secondary_;
150 std::string tiles_var_;
151 std::string palettes_var_;
152 std::string metatiles_var_;
153 std::string metatile_attributes_var_;
154 std::optional<std::string> callback_func_;
155};
156
157} // namespace porytiles
Represents raw parsed metadata from a tileset struct in headers.h.
const std::string & metatile_attributes_var() const
Returns the metatile attributes variable name.
const std::string & metatiles_var() const
Returns the metatiles variable name.
bool has_animations() const
Checks if this tileset has animations.
const std::string & name() const
Returns the tileset name.
const std::string & palettes_var() const
Returns the palettes variable name.
ProjectTilesetMetadata(std::string name, bool is_secondary, std::string tiles_var, std::string palettes_var, std::string metatiles_var, std::string metatile_attributes_var, std::optional< std::string > callback_func)
Constructs a TilesetMetadata from parsed struct fields.
bool is_secondary() const
Returns whether this is a secondary tileset.
const std::optional< std::string > & callback_func() const
Returns the animation callback function name, if present.
const std::string & tiles_var() const
Returns the tiles variable name.