mirror of
https://github.com/zoriya/Bomberman.git
synced 2026-06-12 05:10:37 +00:00
43 lines
832 B
C++
43 lines
832 B
C++
//
|
|
// Created by Zoe Roux on 5/24/21.
|
|
//
|
|
|
|
|
|
#pragma once
|
|
|
|
#include <unordered_map>
|
|
#include <Scene/Scene.hpp>
|
|
|
|
|
|
namespace BBM
|
|
{
|
|
//! @brief A class representing the current game state. This allow one to retain information between update calls.
|
|
class GameState
|
|
{
|
|
public:
|
|
//! @brief The list of scenes available.
|
|
enum SceneID
|
|
{
|
|
SplashScreen,
|
|
MainMenuScene,
|
|
GameScene,
|
|
SettingsScene,
|
|
PauseMenuScene,
|
|
LobbyScene,
|
|
TitleScreenScene,
|
|
CreditScene,
|
|
HowToPlayScene,
|
|
ScoreScene,
|
|
};
|
|
|
|
|
|
//! @brief The currently loaded scene
|
|
SceneID currentScene = SplashScreen;
|
|
|
|
//! @brief The next scene to load (if smae as currentScene, nothing to do)
|
|
SceneID nextScene = SplashScreen;
|
|
|
|
//! @brief The list of loaded scenes.
|
|
std::unordered_map<SceneID, std::shared_ptr<WAL::Scene>> _loadedScenes = {};
|
|
};
|
|
} |