8#ifndef GALAXY_CORE_APPLICATION_HPP_
9#define GALAXY_CORE_APPLICATION_HPP_
14#include <entt/signal/fwd.hpp>
40 explicit App(
const std::string& config_file =
"config.json");
Base level class for any galaxy app.
App(const App &)=delete
Copy constructor.
std::move_only_function< void(entt::dispatcher &, Window &, World &)> LoopFunc
Defines a callback for update() or render() loops in app.run().
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.
void set_render_func(LoopFunc &&render)
Use a custom rendering step in game loop.
void set_update_func(LoopFunc &&update)
Use a custom update step in game loop.
App & operator=(App &&)=delete
Move assignment operator.
LoopFunc m_render
Render step in gameloop.
App(App &&)=delete
Move constructor.
LoopFunc m_update
Update step in gameloop.
RAII Window. Handles events, input & display.
Scene, Entity and global game management.