r-type  0.0.0
R-Type main
Loading...
Searching...
No Matches
GameOver.hpp
Go to the documentation of this file.
1///
2/// @file GameOver.hpp
3/// @brief This file contains the game over scene
4/// @namespace gme
5///
6
7#pragma once
8
9#include <functional>
10
12
13namespace gme
14{
15 ///
16 /// @class GameOverScene
17 /// @brief Game over scene displayed when all players die
18 /// @namespace gme
19 ///
20 class GameOverScene final : public eng::AScene
21 {
22 public:
23 GameOverScene(eng::id assignedId, const std::shared_ptr<eng::IRenderer> &renderer);
24 ~GameOverScene() override = default;
25
26 GameOverScene(const GameOverScene &other) = delete;
27 GameOverScene &operator=(const GameOverScene &other) = delete;
28 GameOverScene(GameOverScene &&other) = delete;
30
31 void update(float dt, const eng::WindowSize &size) override;
32 void event(const eng::Event &event) override;
33
34 bool &playMusic() { return m_playMusic; }
35
36 std::function<void()> onBackToMenu;
37
38 private:
39 const std::shared_ptr<eng::IRenderer> &m_renderer;
40 bool m_playMusic = false;
41 float m_animationTime = 0.0f;
42 }; // class GameOverScene
43} // namespace gme
Abstract class for scene.
Definition IScene.hpp:52
Game over scene displayed when all players die.
Definition GameOver.hpp:21
void event(const eng::Event &event) override
Definition gameOver.cpp:89
GameOverScene(eng::id assignedId, const std::shared_ptr< eng::IRenderer > &renderer)
Definition gameOver.cpp:11
void update(float dt, const eng::WindowSize &size) override
Definition gameOver.cpp:66
const std::shared_ptr< eng::IRenderer > & m_renderer
Definition GameOver.hpp:39
std::function< void()> onBackToMenu
Definition GameOver.hpp:36
~GameOverScene() override=default
GameOverScene(const GameOverScene &other)=delete
GameOverScene & operator=(const GameOverScene &other)=delete
GameOverScene & operator=(GameOverScene &&other)=delete
GameOverScene(GameOverScene &&other)=delete
This file contains the IScene class.
unsigned int id
Definition IScene.hpp:20