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
8namespace 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}