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
11
#include "
Client/Systems/Weapon.hpp
"
12
#include "
Engine/Interfaces/IScene.hpp
"
13
#include "
Interfaces/IAudio.hpp
"
14
15
namespace
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
;
40
ecs::Entity
m_fpsEntity
;
41
const
std::vector<std::string>
m_menuOptions
= {
"Solo"
,
"Multi"
,
"Settings"
};
42
const
std::shared_ptr<eng::IAudio> &
m_audio
;
43
44
int
m_selectedIndex
= 0;
45
};
// class Menu
46
}
// namespace cli
IAudio.hpp
This file contains the Audio interface.
Weapon.hpp
cli::Menu
Menu scene.
Definition
Menu.hpp:23
cli::Menu::event
void event(const eng::Event &event) override
Definition
menu.cpp:144
cli::Menu::m_keysPressed
std::unordered_map< eng::Key, bool > m_keysPressed
Definition
Menu.hpp:39
cli::Menu::Menu
Menu(Menu &&other)=delete
cli::Menu::m_audio
const std::shared_ptr< eng::IAudio > & m_audio
Definition
Menu.hpp:42
cli::Menu::~Menu
~Menu() override=default
cli::Menu::operator=
Menu & operator=(Menu &&other)=delete
cli::Menu::m_menuOptions
const std::vector< std::string > m_menuOptions
Definition
Menu.hpp:41
cli::Menu::Menu
Menu(const std::shared_ptr< eng::IRenderer > &renderer, const std::shared_ptr< eng::IAudio > &audio)
Definition
menu.cpp:8
cli::Menu::operator=
Menu & operator=(const Menu &other)=delete
cli::Menu::Menu
Menu(const Menu &other)=delete
cli::Menu::m_fpsEntity
ecs::Entity m_fpsEntity
Definition
Menu.hpp:40
cli::Menu::update
void update(float dt, const eng::WindowSize &size) override
Definition
menu.cpp:98
cli::Menu::m_selectedIndex
int m_selectedIndex
Definition
Menu.hpp:44
cli::Menu::onOptionSelected
std::function< void(const std::string &option)> onOptionSelected
Definition
Menu.hpp:36
eng::AScene
Class for scene.
Definition
IScene.hpp:46
IScene.hpp
This file contains the IScene class.
cli
ecs::Entity
std::uint32_t Entity
Definition
Entity.hpp:13
eng::Event
Definition
IRenderer.hpp:89
eng::WindowSize
Definition
IRenderer.hpp:95
client
include
Client
Scenes
Menu.hpp
Generated by
1.11.0