OpenGothic
Open source reimplementation of Gothic I and II
Loading...
Searching...
No Matches
menuroot.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <Tempest/Widget>
4
5
#include <zenkit/DaedalusVm.hh>
6
#include <zenkit/addon/daedalus.hh>
7
8
#include "
utils/keycodec.h
"
9
10
class
GameMenu
;
11
class
Npc
;
12
13
class
MenuRoot
:
public
Tempest::Widget {
14
public
:
15
MenuRoot
(
KeyCodec
& keyCodec);
16
~MenuRoot
()
override
;
17
18
void
setMainMenu
();
19
void
setMenu
(std::string_view menu,
KeyCodec::Action
key =
KeyCodec::Escape
);
20
void
setMenu
(
GameMenu
* w);
21
void
pushMenu
(
GameMenu
* w);
22
void
popMenu
();
23
void
closeAll
();
24
bool
isActive
()
const
;
25
void
setPlayer
(
const
Npc
& pl);
26
void
processMusicTheme
();
27
28
void
showVersion
(
bool
s);
29
bool
hasVersionLine
()
const
;
30
31
void
mouseWheelEvent
(Tempest::MouseEvent& event)
override
;
32
void
keyRepeatEvent
(Tempest::KeyEvent& event)
override
;
33
void
keyDownEvent
(Tempest::KeyEvent& event)
override
;
34
35
protected
:
36
void
mouseDownEvent
(Tempest::MouseEvent& event)
override
;
37
void
mouseUpEvent
(Tempest::MouseEvent& event)
override
;
38
39
private
:
40
void
initSettings();
41
42
std::unique_ptr<zenkit::DaedalusVm> vm;
43
int32_t vmLang = -1;
44
45
GameMenu
* current=
nullptr
;
46
std::vector<std::unique_ptr<GameMenu>> menuStack;
47
KeyCodec
& keyCodec;
48
49
Tempest::Event::KeyType cheatCode[6] = {};
50
bool
showVersionHint =
false
;
51
};
GameMenu
Definition
gamemenu.h:22
KeyCodec
Definition
keycodec.h:10
KeyCodec::Action
Action
Definition
keycodec.h:22
KeyCodec::Escape
@ Escape
Definition
keycodec.h:25
MenuRoot
Definition
menuroot.h:13
MenuRoot::popMenu
void popMenu()
Definition
menuroot.cpp:79
MenuRoot::mouseDownEvent
void mouseDownEvent(Tempest::MouseEvent &event) override
Definition
menuroot.cpp:129
MenuRoot::setPlayer
void setPlayer(const Npc &pl)
Definition
menuroot.cpp:110
MenuRoot::processMusicTheme
void processMusicTheme()
Definition
menuroot.cpp:115
MenuRoot::isActive
bool isActive() const
Definition
menuroot.cpp:106
MenuRoot::setMainMenu
void setMainMenu()
Definition
menuroot.cpp:47
MenuRoot::pushMenu
void pushMenu(GameMenu *w)
Definition
menuroot.cpp:67
MenuRoot::mouseUpEvent
void mouseUpEvent(Tempest::MouseEvent &event) override
Definition
menuroot.cpp:141
MenuRoot::showVersion
void showVersion(bool s)
Definition
menuroot.cpp:120
MenuRoot::~MenuRoot
~MenuRoot() override
Definition
menuroot.cpp:18
MenuRoot::closeAll
void closeAll()
Definition
menuroot.cpp:98
MenuRoot::keyDownEvent
void keyDownEvent(Tempest::KeyEvent &event) override
Definition
menuroot.cpp:171
MenuRoot::mouseWheelEvent
void mouseWheelEvent(Tempest::MouseEvent &event) override
Definition
menuroot.cpp:144
MenuRoot::keyRepeatEvent
void keyRepeatEvent(Tempest::KeyEvent &event) override
Definition
menuroot.cpp:155
MenuRoot::setMenu
void setMenu(std::string_view menu, KeyCodec::Action key=KeyCodec::Escape)
Definition
menuroot.cpp:52
MenuRoot::hasVersionLine
bool hasVersionLine() const
Definition
menuroot.cpp:125
Npc
Definition
npc.h:25
keycodec.h
game
ui
menuroot.h
Generated by
1.9.8