Files
Bomberman/sources/Models/GameState.hpp
Clément Le Bihan d8396337dd Merge branch 'develop' of github.com:AnonymusRaccoon/Bomberman into parser
# Conflicts:
#	sources/Map/Map.cpp
#	sources/Runner/GameScene.cpp
#	sources/Runner/PauseMenuScene.cpp
#	sources/Runner/Runner.cpp
#	sources/System/Controllable/ControllableSystem.cpp
#	sources/System/Lobby/LobbySystem.cpp
2021-06-19 14:39:43 +02:00

47 lines
962 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,
ResumeLobbyScene,
TitleScreenScene,
CreditScene,
HowToPlayScene,
ScoreScene,
};
//! @brief The scene before the actual one. Used for back buttons.
SceneID previousScene = SplashScreen;
//! @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 = {};
};
}