// Copyright (c) 2012-2021 Wojciech Figat. All rights reserved.
#pragma once
#include "Engine/Core/Types/Guid.h"
#include "Engine/Core/Types/String.h"
#include "Engine/Core/Collections/Dictionary.h"
///
/// Main engine configuration service. Loads and applies game configuration.
///
class GameSettings
{
public:
///
/// The product full name.
///
static String ProductName;
///
/// The company full name.
///
static String CompanyName;
///
/// The copyright note used for content signing (eg. source code header).
///
static String CopyrightNotice;
///
/// The default application icon.
///
static Guid Icon;
///
/// Reference to the first scene to load on a game startup.
///
static Guid FirstScene;
///
/// True if skip showing splash screen image on the game startup.
///
static bool NoSplashScreen;
///
/// Reference to the splash screen image to show on a game startup.
///
static Guid SplashScreen;
///
/// The custom settings to use with a game. Can be specified by the user to define game-specific options and be used by the external plugins (used as key-value pair).
///
static Dictionary CustomSettings;
///
/// Loads the game settings (including other settings such as Physics, Input, etc.).
///
/// True if failed, otherwise false.
static bool Load();
};