// Copyright (c) Wojciech Figat. All rights reserved. #pragma once #if PLATFORM_WEB || USE_EDITOR #include "Engine/Core/Config/PlatformSettingsBase.h" /// /// Web platform settings. /// API_CLASS(Sealed, Namespace="FlaxEditor.Content.Settings") class FLAXENGINE_API WebPlatformSettings : public SettingsBase { DECLARE_SCRIPTING_TYPE_MINIMAL(WebPlatformSettings); API_AUTO_SERIALIZATION(); /// /// The output texture compression mode. /// API_ENUM() enum class TextureCompression { // Raw image data without any compression algorithm. Mostly for testing or compatibility. Uncompressed, // Maintains block compression formats BC1-7 that are supported on Desktop but might not work on Mobile. BC, // Converts compressed textures into ASTC format that is supported on Mobile but not on Desktop. ASTC, // Converts compressed textures into Basis Universal format that is supercompressed - can be quickly decoded into GPU native format on demand (BC1-7 or ASTC). Supported on all platforms. Basis, }; /// /// The output textures compression mode. /// API_FIELD(Attributes = "EditorOrder(500), EditorDisplay(\"General\")") TextureCompression TexturesCompression = TextureCompression::Basis; /// /// 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 WebPlatformSettings* Get(); }; #if PLATFORM_WEB typedef WebPlatformSettings PlatformSettings; #endif #endif