Porytiles
Loading...
Searching...
No Matches
tilemap_entry.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <set>
4
5namespace porytiles {
6
16 public:
17 TilemapEntry() : tile_index_{0}, palette_index_{0}, h_flip_{false}, v_flip_{false} {}
18
19 TilemapEntry(std::size_t tile_index, std::size_t palette_index, bool hflip, bool vflip)
20 : tile_index_{tile_index}, palette_index_{palette_index}, h_flip_{hflip}, v_flip_{vflip}
21 {
22 }
23
33 [[nodiscard]] bool is_transparent() const;
34
35 [[nodiscard]] std::size_t tile_index() const
36 {
37 return tile_index_;
38 }
39
40 void tile_index(std::size_t tile_index)
41 {
42 tile_index_ = tile_index;
43 }
44
45 [[nodiscard]] std::size_t palette_index() const
46 {
47 return palette_index_;
48 }
49
50 void palette_index(std::size_t palette_index)
51 {
52 palette_index_ = palette_index;
53 }
54
55 [[nodiscard]] bool h_flip() const
56 {
57 return h_flip_;
58 }
59
60 void h_flip(bool hflip)
61 {
62 h_flip_ = hflip;
63 }
64
65 [[nodiscard]] bool v_flip() const
66 {
67 return v_flip_;
68 }
69
70 void v_flip(bool vflip)
71 {
72 v_flip_ = vflip;
73 }
74
75 private:
76 std::size_t tile_index_;
77 std::size_t palette_index_;
78 bool h_flip_;
79 bool v_flip_;
80};
81
82} // namespace porytiles
Represents a tilemap entry referencing a tile with palette and flip attributes.
void h_flip(bool hflip)
void palette_index(std::size_t palette_index)
void tile_index(std::size_t tile_index)
bool is_transparent() const
Checks if this TilemapEntry refers to the canonically transparent tile.
std::size_t tile_index() const
std::size_t palette_index() const
void v_flip(bool vflip)
TilemapEntry(std::size_t tile_index, std::size_t palette_index, bool hflip, bool vflip)