diff options
| author | Star Rauchenberger <fefferburbia@gmail.com> | 2021-03-13 10:01:39 -0500 |
|---|---|---|
| committer | Star Rauchenberger <fefferburbia@gmail.com> | 2021-03-13 15:34:50 -0500 |
| commit | 37bbad70090071a473a04583e373491557906699 (patch) | |
| tree | a7bffa340c8222d7447a1fb3bfb1d8dd2921918d /src/menu_system.cpp | |
| parent | f9dd0fbabe5348fcd9841978cdd9d3a5824a5dec (diff) | |
| download | tanetane-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.cpp | 15 |
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 | ||
| 4 | void MenuSystem::tick(double dt) { | 5 | void 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 | } |
