// Copyright (c) Wojciech Figat. All rights reserved.
#pragma once
#if PLATFORM_MAC || USE_EDITOR
#include "../Apple/ApplePlatformSettings.h"
///
/// Mac platform settings.
///
API_CLASS(Sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API MacPlatformSettings : public ApplePlatformSettings
{
DECLARE_SCRIPTING_TYPE_MINIMAL(MacPlatformSettings);
API_AUTO_SERIALIZATION();
///
/// App code signing identity name (from local Mac keychain). Use 'security find-identity -v -p codesigning' to list possible options.
///
API_FIELD(Attributes="EditorOrder(53), EditorDisplay(\"Deploy\")")
String CodeSignIdentity;
///
/// Apple keychain profile name to use for app notarize action (installed locally).
///
API_FIELD(Attributes="EditorOrder(55), EditorDisplay(\"Deploy\")")
String PackageKeychainProfile;
///
/// The default game window mode.
///
API_FIELD(Attributes="EditorOrder(110), EditorDisplay(\"Window\")")
GameWindowMode WindowMode = GameWindowMode::Windowed;
///
/// The default game window width (in pixels).
///
API_FIELD(Attributes="EditorOrder(120), EditorDisplay(\"Window\")")
int32 ScreenWidth = 1280;
///
/// The default game window height (in pixels).
///
API_FIELD(Attributes="EditorOrder(130), EditorDisplay(\"Window\")")
int32 ScreenHeight = 720;
///
/// Enables resizing the game window by the user.
///
API_FIELD(Attributes="EditorOrder(140), EditorDisplay(\"Window\")")
bool ResizableWindow = false;
///
/// Enables game running when application window loses focus.
/// [Deprecated in v1.12]
///
API_FIELD(Attributes="EditorOrder(1010), EditorDisplay(\"Other\", \"Run In Background\")")
DEPRECATED("Use UnfocusedPause from TimeSettings.")
bool RunInBackground = false;
///
/// Gets the instance of the settings asset (default value if missing). Object returned by this method is always loaded with valid data to use.
///
static MacPlatformSettings* Get();
};
#if PLATFORM_MAC
typedef MacPlatformSettings PlatformSettings;
#endif
#endif