summary refs log tree commit diff stats
path: root/src/menu_system.cpp
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2021-03-13 10:01:39 -0500
committerStar Rauchenberger <fefferburbia@gmail.com>2021-03-13 15:34:50 -0500
commit37bbad70090071a473a04583e373491557906699 (patch)
treea7bffa340c8222d7447a1fb3bfb1d8dd2921918d /src/menu_system.cpp
parentf9dd0fbabe5348fcd9841978cdd9d3a5824a5dec (diff)
downloadtanetane-37bbad70090071a473a04583e373491557906699.tar.gz
tanetane-37bbad70090071a473a04583e373491557906699.tar.bz2
tanetane-37bbad70090071a473a04583e373491557906699.zip
Added option to exit area from pause menu on supported maps
#7
Diffstat (limited to 'src/menu_system.cpp')
-rw-r--r--src/menu_system.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/menu_system.cpp b/src/menu_system.cpp index 34616a6..468fa6e 100644 --- a/src/menu_system.cpp +++ b/src/menu_system.cpp
@@ -1,5 +1,6 @@
1#include "menu_system.h" 1#include "menu_system.h"
2#include "game.h" 2#include "game.h"
3#include "script_system.h"
3 4
4void MenuSystem::tick(double dt) { 5void MenuSystem::tick(double dt) {
5 pauseAnimation_.tick(dt); 6 pauseAnimation_.tick(dt);
@@ -38,7 +39,7 @@ void MenuSystem::openPauseMenu() {
38 39
39 game_.pauseGameplay(); 40 game_.pauseGameplay();
40 41
41 menu_ = CreateMenu({ 42 std::vector<MenuBuilder> builders = {
42 MenuBuilder().Command("Settings"), 43 MenuBuilder().Command("Settings"),
43 MenuBuilder().Command("Resume Game") 44 MenuBuilder().Command("Resume Game")
44 .ActivationFunction([] (Game& game) { 45 .ActivationFunction([] (Game& game) {
@@ -48,7 +49,17 @@ void MenuSystem::openPauseMenu() {
48 .ActivationFunction([] (Game& game) { 49 .ActivationFunction([] (Game& game) {
49 game.quit(); 50 game.quit();
50 }) 51 })
51 }); 52 };
53
54 if (game_.getMap().hasExitArea()) {
55 builders.push_back(MenuBuilder().Command("Exit Area")
56 .ActivationFunction([] (Game& game) {
57 game.getSystem<MenuSystem>().closePauseMenu();
58 game.getSystem<ScriptSystem>().runScript(game.getMap().getName(), "exit_area");
59 }));
60 }
61
62 menu_ = CreateMenu(builders);
52 63
53 cursor_ = 0; 64 cursor_ = 0;
54} 65}