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
Application.hpp
Go to the documentation of this file.
1
7
8#ifndef GALAXY_CORE_APPLICATION_HPP_
9#define GALAXY_CORE_APPLICATION_HPP_
10
11#include <string>
12#include <functional>
13
14#include <SDL3/SDL_events.h>
15
16namespace galaxy
17{
21 class App final
22 {
23 public:
32 explicit App(const std::string& config_file = "config.json");
33
37 ~App();
38
42 // void load();
43
47 void run();
48
49 private:
53 App(const App&) = delete;
54
58 App(App&&) = delete;
59
63 App& operator=(const App&) = delete;
64
68 App& operator=(App&&) = delete;
69
70 void setup_async();
71 void setup_logging();
72 void setup_config(std::string_view config_file);
73 void setup_platform();
74 void setup_fs();
75 void setup_rendering();
76 void setup_events();
77 void setup_input();
78 // void setup_nuklear();
79 // void setup_loader();
80 void setup_meta();
81 void setup_services();
82 void setup_scripting();
83
84 private:
88 SDL_Event m_events;
89 };
90} // namespace galaxy
91
92#endif
Base level class for any galaxy app.
App(const App &)=delete
Copy constructor.
void setup_config(std::string_view config_file)
void run()
Loads the default appdata file.
App(const std::string &config_file="config.json")
Default constructor.
App & operator=(const App &)=delete
Copy assignment operator.
SDL_Event m_events
Core event data.
void setup_logging()
void setup_async()
void setup_events()
void setup_input()
void setup_rendering()
void setup_meta()
void setup_services()
App & operator=(App &&)=delete
Move assignment operator.
void setup_scripting()
void setup_platform()
~App()
Destructor.
App(App &&)=delete
Move constructor.
Application.hpp galaxy.