galaxy 1.0.0
Real-Time C++23 Game Programming Framework. Built on data-driven design principles and agile software engineering.
Loading...
Searching...
No Matches
Map.hpp
Go to the documentation of this file.
1
7
8#ifndef GALAXY_MAP_MAP_HPP_
9#define GALAXY_MAP_MAP_HPP_
10
11#include <LDtkLoader/Level.hpp>
12
14
15namespace galaxy
16{
17 namespace map
18 {
25 class Map final
26 {
27 public:
31 Map();
32
36 Map(Map&&);
37
41 Map& operator=(Map&&);
42
46 ~Map();
47
53 void load(const ldtk::Level& level);
54
60 [[nodiscard]]
61 const std::string& name() const;
62
63 private:
67 Map(const Map&) = delete;
68
72 Map& operator=(const Map&) = delete;
73
79 void parse_intgrid_layer(const ldtk::Layer& layer);
80
90 void parse_entitiy_layer(const ldtk::Layer& layer);
91
97 void parse_tile_layer(const ldtk::Layer& layer, const int render_layer);
98
99 public:
104
105 private:
109 std::string m_name;
110 };
111 } // namespace map
112} // namespace galaxy
113
114#endif
Wrapper around entt::registry to expand functionality.
Definition Registry.hpp:21
An LDTK level.
Definition Map.hpp:26
void parse_entitiy_layer(const ldtk::Layer &layer)
Parse LDTK entity layer.
Definition Map.cpp:86
Map & operator=(const Map &)=delete
Copy assignment operator.
core::Registry m_registry
Map entities.
Definition Map.hpp:103
std::string m_name
Map name.
Definition Map.hpp:109
void parse_tile_layer(const ldtk::Layer &layer, const int render_layer)
Parse LDTK tile layer / auto layer.
Definition Map.cpp:110
Map(const Map &)=delete
Copy constructor.
Map()
Constructor.
Definition Map.cpp:25
Map & operator=(Map &&)
Move assignment operator.
Definition Map.cpp:35
~Map()
Destructor.
Definition Map.cpp:46
void load(const ldtk::Level &level)
Load a map from an ldtk level.
Definition Map.cpp:50
const std::string & name() const
Get map name.
Definition Map.cpp:150
void parse_intgrid_layer(const ldtk::Layer &layer)
Parse LDTK int-grid layer.
Definition Map.cpp:81
Timer.hpp galaxy.
Definition Async.hpp:17