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
World.hpp
Go to the documentation of this file.
1
7
8#ifndef GALAXY_SCENE_WORLD_HPP_
9#define GALAXY_SCENE_WORLD_HPP_
10
13
14namespace galaxy
15{
19 class World final : public StateMachine<Scene>
20 {
21 public:
25 World() noexcept;
26
30 World(World&&);
31
36
40 virtual ~World();
41
45 void update() override;
46
50 void render();
51
55 void clear();
56
57 private:
61 World(const World&) = delete;
62
66 World& operator=(const World&) = delete;
67
68 private:
73 };
74} // namespace galaxy
75
76/*
84 void load_app(const std::string& appdata_file);
85
91 void save_app(const std::string& file);
92
98 [[nodiscard]]
99 nlohmann::json serialize() override;
100
106 void deserialize(const nlohmann::json& json) override;
107*/
108
109#endif
Wrapper around entt::registry to expand functionality.
Definition Registry.hpp:19
A finite state machine.
Scene, Entity and global game management.
Definition World.hpp:20
void clear()
Removes all data.
Definition World.cpp:53
World() noexcept
Constructor.
Definition World.cpp:12
void render()
Render scenes.
Definition World.cpp:45
virtual ~World()
Destructor.
Definition World.cpp:32
World & operator=(World &&)
Move assignment operator.
Definition World.cpp:22
World & operator=(const World &)=delete
Copy assignment operator.
void update() override
Process events and updates.
Definition World.cpp:37
World(const World &)=delete
Copy constructor.
Registry m_registry
Entity data.
Definition World.hpp:72
Animated.cpp galaxy.
Definition Animated.cpp:16