Add options for game window on macOS

This commit is contained in:
Wojtek Figat
2022-01-17 21:14:41 +01:00
parent 788afe611d
commit 35d9016053
4 changed files with 87 additions and 1 deletions

View File

@@ -23,12 +23,42 @@ API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API
API_FIELD(Attributes="EditorOrder(0), EditorDisplay(\"General\")")
String AppIdentifier = TEXT("com.${COMPANY_NAME}.${PROJECT_NAME}");
/// <summary>
/// The default game window mode.
/// </summary>
API_FIELD(Attributes="EditorOrder(110), EditorDisplay(\"Window\")")
GameWindowMode WindowMode = GameWindowMode::Windowed;
/// <summary>
/// The default game window width (in pixels).
/// </summary>
API_FIELD(Attributes="EditorOrder(120), EditorDisplay(\"Window\")")
int32 ScreenWidth = 1280;
/// <summary>
/// The default game window height (in pixels).
/// </summary>
API_FIELD(Attributes="EditorOrder(130), EditorDisplay(\"Window\")")
int32 ScreenHeight = 720;
/// <summary>
/// Enables resizing the game window by the user.
/// </summary>
API_FIELD(Attributes="EditorOrder(140), EditorDisplay(\"Window\")")
bool ResizableWindow = false;
/// <summary>
/// Custom icon texture to use for the application (overrides the default one).
/// </summary>
API_FIELD(Attributes="EditorOrder(1000), EditorDisplay(\"Other\")")
SoftObjectReference<Texture> OverrideIcon;
/// <summary>
/// Enables game running when application window loses focus.
/// </summary>
API_FIELD(Attributes="EditorOrder(1010), EditorDisplay(\"Other\", \"Run In Background\")")
bool RunInBackground = false;
public:
/// <summary>
/// Gets the instance of the settings asset (default value if missing). Object returned by this method is always loaded with valid data to use.
@@ -39,7 +69,12 @@ public:
void Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) final override
{
DESERIALIZE(AppIdentifier);
DESERIALIZE(WindowMode);
DESERIALIZE(ScreenWidth);
DESERIALIZE(ScreenHeight);
DESERIALIZE(ResizableWindow);
DESERIALIZE(OverrideIcon);
DESERIALIZE(RunInBackground);
}
};