// Copyright (c) 2012-2022 Wojciech Figat. All rights reserved.
#pragma once
#if PLATFORM_ANDROID || USE_EDITOR
#include "Engine/Core/Config/PlatformSettingsBase.h"
#include "Engine/Scripting/SoftObjectReference.h"
class Texture;
///
/// Android platform settings.
///
API_CLASS(sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API AndroidPlatformSettings : public SettingsBase
{
DECLARE_SCRIPTING_TYPE_MINIMAL(AndroidPlatformSettings);
public:
///
/// The application package name (eg. com.company.product). Custom tokens: ${PROJECT_NAME}, ${COMPANY_NAME}.
///
API_FIELD(Attributes="EditorOrder(0), EditorDisplay(\"General\")")
String PackageName = TEXT("com.${COMPANY_NAME}.${PROJECT_NAME}");
///
/// The application permissions list (eg. android.media.action.IMAGE_CAPTURE). Added to the generated manifest file.
///
API_FIELD(Attributes="EditorOrder(100), EditorDisplay(\"General\")")
Array Permissions;
///
/// Custom icon texture to use for the application (overrides the default one).
///
API_FIELD(Attributes="EditorOrder(1030), EditorDisplay(\"Other\")")
SoftObjectReference OverrideIcon;
public:
///
/// 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 AndroidPlatformSettings* Get();
// [SettingsBase]
void Deserialize(DeserializeStream& stream, ISerializeModifier* modifier) final override
{
DESERIALIZE(PackageName);
DESERIALIZE(Permissions);
DESERIALIZE(OverrideIcon);
}
};
#if PLATFORM_ANDROID
typedef AndroidPlatformSettings PlatformSettings;
#endif
#endif