// Copyright (c) 2012-2023 Wojciech Figat. All rights reserved. #pragma once #if PLATFORM_GDK || USE_EDITOR #include "Engine/Core/Config/PlatformSettingsBase.h" #include "Engine/Core/Math/Color.h" #include "Engine/Scripting/SoftObjectReference.h" class Texture; /// /// GDK platform settings. /// API_CLASS(Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API GDKPlatformSettings : public SettingsBase { DECLARE_SCRIPTING_TYPE_MINIMAL(GDKPlatformSettings); public: /// /// Game identity name stored in game package manifest (for store). If empty the product name will be used from Game Settings. /// API_FIELD(Attributes="EditorOrder(90), EditorDisplay(\"General\")") String Name; /// /// Game publisher identity name stored in game package manifest (for store). /// API_FIELD(Attributes="EditorOrder(100), EditorDisplay(\"General\")") String PublisherName; /// /// Game publisher display name stored in game package manifest (for UI). /// API_FIELD(Attributes="EditorOrder(110), EditorDisplay(\"General\")") String PublisherDisplayName; /// /// Application small logo texture of size 150x150 px. /// API_FIELD(Attributes="EditorOrder(200), EditorDisplay(\"Visuals\")") SoftObjectReference Square150x150Logo; /// /// Application large logo texture of size 480x480 px. /// API_FIELD(Attributes="EditorOrder(205), EditorDisplay(\"Visuals\")") SoftObjectReference Square480x480Logo; /// /// Application small logo texture of size 44x44 px. /// API_FIELD(Attributes="EditorOrder(210), EditorDisplay(\"Visuals\")") SoftObjectReference Square44x44Logo; /// /// Application splash screen texture. /// API_FIELD(Attributes="EditorOrder(220), EditorDisplay(\"Visuals\")") SoftObjectReference SplashScreenImage; /// /// Application store logo texture. /// API_FIELD(Attributes="EditorOrder(230), EditorDisplay(\"Visuals\")") SoftObjectReference StoreLogo; /// /// Application background color. /// API_FIELD(Attributes="EditorOrder(240), DefaultValue(typeof(Color), \"0,0,0,1\"), EditorDisplay(\"Visuals\")") Color BackgroundColor = Color::Black; /// /// Application foreground text theme (light or dark). /// API_FIELD(Attributes="EditorOrder(250), EditorDisplay(\"Visuals\")") String ForegroundText = TEXT("light"); /// /// Specifies the Titles Xbox Live Title ID, used for identity with Xbox Live services (optional). /// API_FIELD(Attributes="EditorOrder(300), EditorDisplay(\"Xbox Live\")") String TitleId; /// /// Specifies the Titles Xbox Live Title ID, used for identity with Xbox Live services (optional). /// API_FIELD(Attributes="EditorOrder(310), EditorDisplay(\"Xbox Live\")") String StoreId; /// /// Specifies if the title requires Xbox Live connectivity in order to run (optional). /// API_FIELD(Attributes="EditorOrder(320), EditorDisplay(\"Xbox Live\")") bool RequiresXboxLive = false; /// /// Service Configuration ID (see Xbox Live docs). /// API_FIELD(Attributes="EditorOrder(330), EditorDisplay(\"Xbox Live\")") StringAnsi SCID; /// /// Specifies if the Game DVR system component is enabled or not. /// API_FIELD(Attributes="EditorOrder(400), EditorDisplay(\"Media Capture\")") bool GameDVRSystemComponent = true; /// /// Specifies if broadcasting the title should be blocked or allowed. /// API_FIELD(Attributes="EditorOrder(410), EditorDisplay(\"Media Capture\")") bool BlockBroadcast = false; /// /// Specifies if Game DVR of the title should be blocked or allowed. /// API_FIELD(Attributes="EditorOrder(420), EditorDisplay(\"Media Capture\")") bool BlockGameDVR = false; public: // [SettingsBase] void Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) override { DESERIALIZE(Name); DESERIALIZE(PublisherName); DESERIALIZE(PublisherDisplayName); DESERIALIZE(Square150x150Logo); DESERIALIZE(Square480x480Logo); DESERIALIZE(Square44x44Logo); DESERIALIZE(SplashScreenImage); DESERIALIZE(StoreLogo); DESERIALIZE(BackgroundColor); DESERIALIZE(TitleId); DESERIALIZE(StoreId); DESERIALIZE(RequiresXboxLive); DESERIALIZE(SCID); DESERIALIZE(GameDVRSystemComponent); DESERIALIZE(BlockBroadcast); DESERIALIZE(BlockGameDVR); } }; #endif