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
36 public:
47 std::string name,
48 bool is_secondary,
49 std::string tiles_var,
50 std::string palettes_var,
51 std::string metatiles_var,
52 std::string metatile_attributes_var,
53 std::optional<std::string> callback_func)
54 : name_{std::move(name)}, is_secondary_{is_secondary}, tiles_var_{std::move(tiles_var)},
55 palettes_var_{std::move(palettes_var)}, metatiles_var_{std::move(metatiles_var)},
56 metatile_attributes_var_{std::move(metatile_attributes_var)}, callback_func_{std::move(callback_func)}
57 {
58 }
59
63 [[nodiscard]] const std::string &name() const
64 {
65 return name_;
66 }
67
71 [[nodiscard]] bool is_secondary() const
72 {
73 return is_secondary_;
74 }
75
79 [[nodiscard]] const std::string &tiles_var() const
80 {
81 return tiles_var_;
82 }
83
87 [[nodiscard]] const std::string &palettes_var() const
88 {
89 return palettes_var_;
90 }
91
95 [[nodiscard]] const std::string &metatiles_var() const
96 {
97 return metatiles_var_;
98 }
99
103 [[nodiscard]] const std::string &metatile_attributes_var() const
104 {
105 return metatile_attributes_var_;
106 }
107
111 [[nodiscard]] const std::optional<std::string> &callback_func() const
112 {
113 return callback_func_;
114 }
115
122 [[nodiscard]] bool has_animations() const
123 {
124 return callback_func_.has_value() && callback_func_.value() != "NULL";
125 }
126
127 private:
128 std::string name_;
129 bool is_secondary_;
130 std::string tiles_var_;
131 std::string palettes_var_;
132 std::string metatiles_var_;
133 std::string metatile_attributes_var_;
134 std::optional<std::string> callback_func_;
135};
136
137} // 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.