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 cli
5
///
6
7
#pragma once
8
9
#include <unordered_map>
10
#include <vector>
11
12
#include "
Engine/Interfaces/IScene.hpp
"
13
14
namespace
cli
15
{
16
///
17
/// @class Menu
18
/// @brief Menu scene
19
/// @namespace cli
20
///
21
class
Menu
final :
public
eng::AScene
22
{
23
public
:
24
Menu
(
eng::id
assignedId,
const
std::shared_ptr<eng::IRenderer> &renderer);
25
~Menu
()
override
=
default
;
26
27
Menu
(
const
Menu
&other) =
delete
;
28
Menu
&
operator=
(
const
Menu
&other) =
delete
;
29
Menu
(
Menu
&&other) =
delete
;
30
Menu
&
operator=
(
Menu
&&other) =
delete
;
31
32
void
update
(
float
dt,
const
eng::WindowSize
&size)
override
;
33
void
event
(
const
eng::Event
&
event
)
override
;
34
35
bool
&
playMusic
() {
return
m_playMusic
; }
36
37
std::function<void(
const
std::string &option)>
onOptionSelected
;
38
39
private
:
40
std::unordered_map<eng::Key, bool>
m_keysPressed
;
41
const
std::vector<std::string>
m_menuOptions
= {
"Solo"
,
"Multi"
,
"Settings"
};
42
43
int
m_selectedIndex
= 0;
44
float
m_animationTime
= 0.0f;
45
float
m_titlePulseTime
= 0.0f;
46
ecs::Entity
m_titleEntity
;
47
48
const
std::vector<std::string>
m_contributors
= {
"Elliot"
,
"Arthur"
,
"Moana"
,
"Aaron"
};
49
ecs::Entity
m_contributorsEntity
;
50
float
m_contributorsOffset
= 0.0f;
51
bool
m_playMusic
=
false
;
52
};
// class Menu
53
}
// namespace cli
cli::Menu
Menu scene.
Definition
Menu.hpp:22
cli::Menu::playMusic
bool & playMusic()
Definition
Menu.hpp:35
cli::Menu::Menu
Menu(eng::id assignedId, const std::shared_ptr< eng::IRenderer > &renderer)
Definition
menu.cpp:7
cli::Menu::event
void event(const eng::Event &event) override
Definition
menu.cpp:165
cli::Menu::m_keysPressed
std::unordered_map< eng::Key, bool > m_keysPressed
Definition
Menu.hpp:40
cli::Menu::m_contributorsEntity
ecs::Entity m_contributorsEntity
Definition
Menu.hpp:49
cli::Menu::m_playMusic
bool m_playMusic
Definition
Menu.hpp:51
cli::Menu::Menu
Menu(Menu &&other)=delete
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::m_titleEntity
ecs::Entity m_titleEntity
Definition
Menu.hpp:46
cli::Menu::m_animationTime
float m_animationTime
Definition
Menu.hpp:44
cli::Menu::m_contributors
const std::vector< std::string > m_contributors
Definition
Menu.hpp:48
cli::Menu::m_titlePulseTime
float m_titlePulseTime
Definition
Menu.hpp:45
cli::Menu::operator=
Menu & operator=(const Menu &other)=delete
cli::Menu::Menu
Menu(const Menu &other)=delete
cli::Menu::update
void update(float dt, const eng::WindowSize &size) override
Definition
menu.cpp:105
cli::Menu::m_selectedIndex
int m_selectedIndex
Definition
Menu.hpp:43
cli::Menu::onOptionSelected
std::function< void(const std::string &option)> onOptionSelected
Definition
Menu.hpp:37
cli::Menu::m_contributorsOffset
float m_contributorsOffset
Definition
Menu.hpp:50
eng::AScene
Abstract class for scene.
Definition
IScene.hpp:52
IScene.hpp
This file contains the IScene class.
cli
ecs::Entity
std::uint32_t Entity
Definition
Entity.hpp:13
eng::id
unsigned int id
Definition
IScene.hpp:20
eng::Event
Definition
IRenderer.hpp:103
eng::WindowSize
Definition
IRenderer.hpp:109
client
include
Client
Scenes
Menu.hpp
Generated by
1.11.0