// Copyright (c) Wojciech Figat. All rights reserved.
#pragma once
#include "Engine/Core/Types/BaseTypes.h"
///
/// Build game header flags.
///
enum class GameHeaderFlags
{
None = 0x0,
ShowSplashScreen = 0x01,
};
DECLARE_ENUM_OPERATORS(GameHeaderFlags);
#if !USE_EDITOR
#include "ApplicationBase.h"
#include "Engine/Platform/CreateWindowSettings.h"
///
/// The main game class.
///
///
class GameBase : public ApplicationBase
{
public:
///
/// Determines whether game is showing splash screen.
///
/// True if splash screen is in use, otherwise false.
static bool IsShowingSplashScreen();
///
/// Initializes the main window settings.
///
/// The settings.
static void InitMainWindowSettings(CreateWindowSettings& settings);
public:
// [ApplicationBase]
static int32 LoadProduct();
static Window* CreateMainWindow();
static bool Init();
static void BeforeRun();
static void BeforeExit();
};
#endif