1 | //************************************ bs::framework - Copyright 2018 Marko Pintera **************************************// |
2 | //*********** Licensed under the MIT license. See LICENSE.md for full terms. This notice is not to be removed. ***********// |
3 | #pragma once |
4 | |
5 | #include "BsPrerequisites.h" |
6 | #include "Reflection/BsIReflectable.h" |
7 | |
8 | namespace bs |
9 | { |
10 | /** @addtogroup Utility-Engine-Internal |
11 | * @{ |
12 | */ |
13 | |
14 | /** |
15 | * Contains settings used for controlling game start-up, as well as persisting various other properties through game |
16 | * sessions. |
17 | */ |
18 | class BS_EXPORT GameSettings : public IReflectable |
19 | { |
20 | public: |
21 | GameSettings() = default; |
22 | |
23 | UUID mainSceneUUID; /**< Resource UUID of the default scene that is loaded when the application is started. */ |
24 | bool fullscreen = true; /**< If true the application will be started in fullscreen using user's desktop resolution. */ |
25 | bool useDesktopResolution = true; /**< If running in fullscreen should the user's desktop resolution be used instead of the specified resolution. */ |
26 | UINT32 resolutionWidth = 1280; /**< Width of the window. */ |
27 | UINT32 resolutionHeight = 720; /**< Height of the window. */ |
28 | WString titleBarText; /**< Text displayed in window's titlebar. */ |
29 | |
30 | /************************************************************************/ |
31 | /* RTTI */ |
32 | /************************************************************************/ |
33 | public: |
34 | friend class GameSettingsRTTI; |
35 | static RTTITypeBase* getRTTIStatic(); |
36 | RTTITypeBase* getRTTI() const override; |
37 | }; |
38 | |
39 | /** @} */ |
40 | } |