diff options
Diffstat (limited to 'src/crepe/api/Config.h')
-rw-r--r-- | src/crepe/api/Config.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/src/crepe/api/Config.h b/src/crepe/api/Config.h index 13eabd1..225e9b9 100644 --- a/src/crepe/api/Config.h +++ b/src/crepe/api/Config.h @@ -1,6 +1,8 @@ #pragma once #include "../util/Log.h" +#include "types.h" +#include <string> namespace crepe { @@ -11,19 +13,18 @@ namespace crepe { * modified *before* execution is handed over from the game programmer to the engine (i.e. the * main loop is started). */ -class Config { +class Config final { public: //! Retrieve handle to global Config instance static Config & get_instance(); private: Config() = default; - - // singleton - Config(const Config &) = delete; - Config(Config &&) = delete; - Config & operator=(const Config &) = delete; - Config & operator=(Config &&) = delete; + ~Config() = default; + Config(const Config &) = default; + Config(Config &&) = default; + Config & operator=(const Config &) = default; + Config & operator=(Config &&) = default; public: //! Logging-related settings @@ -63,6 +64,14 @@ public: double gravity = 1; } physics; + //! default window settings + struct { + //TODO make this constexpr because this will never change + ivec2 default_size = {1080, 720}; + std::string window_title = "Jetpack joyride clone"; + + } window_settings; + //! Asset loading options struct { /** |