Etterna 0.74.4
Loading...
Searching...
No Matches
ScreenSelect.h
1#ifndef SCREEN_SELECT_H
2#define SCREEN_SELECT_H
3
4#include "Etterna/Models/Misc/GameCommand.h"
5#include "ScreenWithMenuElements.h"
6#include "Etterna/Models/Misc/ThemeMetric.h"
9{
10 public:
11 void Init() override;
12 void BeginScreen() override;
13 ~ScreenSelect() override;
14
15 void Update(float fDelta) override;
16 bool Input(const InputEventPlus& input) override;
17 void HandleScreenMessage(const ScreenMessage& SM) override;
18 void HandleMessage(const Message& msg) override;
19
20 bool MenuBack(const InputEventPlus& input) override;
21
22 protected:
23 virtual int GetSelectionIndex(PlayerNumber pn) = 0;
24 virtual void
25 UpdateSelectableChoices() = 0; // derived screens must handle this
26
31 std::vector<GameCommand> m_aGameCommands;
32
33 std::vector<std::string> m_asSubscribedMessages;
34
39
40 ThemeMetric<float> IDLE_COMMENT_SECONDS;
41 ThemeMetric<float> IDLE_TIMEOUT_SECONDS;
42 ThemeMetric<bool> ALLOW_DISABLED_PLAYER_INPUT;
43};
44
45#endif
Holds a device input plus Game/Menu translations.
Definition InputEventPlus.h:9
Definition RageTimer.h:9
Base class for Style, Difficulty, and Mode selection screens.
Definition ScreenSelect.h:9
std::vector< GameCommand > m_aGameCommands
The game commands available.
Definition ScreenSelect.h:31
RageTimer m_timerIdleComment
Count up to the time between idle comment announcer sounds.
Definition ScreenSelect.h:36
void Init() override
This is called immediately after construction, to allow initializing after all derived classes exist.
Definition ScreenSelect.cpp:17
void BeginScreen() override
This is called immediately before the screen is used.
Definition ScreenSelect.cpp:95
RageTimer m_timerIdleTimeout
Count up to go to the timeout screen.
Definition ScreenSelect.h:38
Definition ScreenWithMenuElements.h:12
The theme specific data.
Definition ThemeMetric.h:52
Definition MessageManager.h:96