r-type  0.0.0
R-Type main
Loading...
Searching...
No Matches
Menu.hpp
Go to the documentation of this file.
1///
2/// @file Menu.hpp
3/// @brief This file contains the menu scene
4/// @namespace eng
5///
6
7#pragma once
8
9#include <unordered_map>
10
13#include "Interfaces/IAudio.hpp"
14
15namespace cli
16{
17 ///
18 /// @class Menu
19 /// @brief Menu scene
20 /// @namespace cli
21 ///
22 class Menu final : public eng::AScene
23 {
24 public:
25 Menu(const std::shared_ptr<eng::IRenderer> &renderer, const std::shared_ptr<eng::IAudio> &audio);
26 ~Menu() override = default;
27
28 Menu(const Menu &other) = delete;
29 Menu &operator=(const Menu &other) = delete;
30 Menu(Menu &&other) = delete;
31 Menu &operator=(Menu &&other) = delete;
32
33 void update(float dt, const eng::WindowSize &size) override;
34 void event(const eng::Event &event) override;
35
36 std::function<void(const std::string &option)> onOptionSelected;
37
38 private:
39 std::unordered_map<eng::Key, bool> m_keysPressed;
41 const std::vector<std::string> m_menuOptions = {"Solo", "Multi", "Settings"};
42 const std::shared_ptr<eng::IAudio> &m_audio;
43
45 }; // class Menu
46} // namespace cli
This file contains the Audio interface.
Menu scene.
Definition Menu.hpp:23
void event(const eng::Event &event) override
Definition menu.cpp:144
std::unordered_map< eng::Key, bool > m_keysPressed
Definition Menu.hpp:39
Menu(Menu &&other)=delete
const std::shared_ptr< eng::IAudio > & m_audio
Definition Menu.hpp:42
~Menu() override=default
Menu & operator=(Menu &&other)=delete
const std::vector< std::string > m_menuOptions
Definition Menu.hpp:41
Menu(const std::shared_ptr< eng::IRenderer > &renderer, const std::shared_ptr< eng::IAudio > &audio)
Definition menu.cpp:8
Menu & operator=(const Menu &other)=delete
Menu(const Menu &other)=delete
ecs::Entity m_fpsEntity
Definition Menu.hpp:40
void update(float dt, const eng::WindowSize &size) override
Definition menu.cpp:98
int m_selectedIndex
Definition Menu.hpp:44
std::function< void(const std::string &option)> onOptionSelected
Definition Menu.hpp:36
Class for scene.
Definition IScene.hpp:46
This file contains the IScene class.
std::uint32_t Entity
Definition Entity.hpp:13