From 37bbad70090071a473a04583e373491557906699 Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 13 Mar 2021 10:01:39 -0500 Subject: Added option to exit area from pause menu on supported maps #7 --- src/menu_system.cpp | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'src/menu_system.cpp') 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 @@ #include "menu_system.h" #include "game.h" +#include "script_system.h" void MenuSystem::tick(double dt) { pauseAnimation_.tick(dt); @@ -38,7 +39,7 @@ void MenuSystem::openPauseMenu() { game_.pauseGameplay(); - menu_ = CreateMenu({ + std::vector builders = { MenuBuilder().Command("Settings"), MenuBuilder().Command("Resume Game") .ActivationFunction([] (Game& game) { @@ -48,7 +49,17 @@ void MenuSystem::openPauseMenu() { .ActivationFunction([] (Game& game) { game.quit(); }) - }); + }; + + if (game_.getMap().hasExitArea()) { + builders.push_back(MenuBuilder().Command("Exit Area") + .ActivationFunction([] (Game& game) { + game.getSystem().closePauseMenu(); + game.getSystem().runScript(game.getMap().getName(), "exit_area"); + })); + } + + menu_ = CreateMenu(builders); cursor_ = 0; } -- cgit 1.4.1