From 764efea5a38b970fa57d8c0197673276023b58aa Mon Sep 17 00:00:00 2001 From: Star Rauchenberger Date: Sat, 13 Mar 2021 07:45:55 -0500 Subject: Added pause menu opening and closing animation #7 --- src/input_system.cpp | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) (limited to 'src/input_system.cpp') diff --git a/src/input_system.cpp b/src/input_system.cpp index c399e91..fd7889d 100644 --- a/src/input_system.cpp +++ b/src/input_system.cpp @@ -5,6 +5,7 @@ #include "script_system.h" #include "transform_system.h" #include "animation_system.h" +#include "menu_system.h" struct Input { bool left = false; @@ -16,25 +17,29 @@ struct Input { void InputSystem::tick(double dt) { SDL_Event e; while (SDL_PollEvent(&e)) { - if (e.type == SDL_KEYDOWN && e.key.keysym.sym == SDLK_ESCAPE) { - if (debugConsole_) { - debugConsole_ = false; - game_.unpauseGameplay(); - SDL_StopTextInput(); - debugText_.clear(); - } else { - game_.quit(); - } - } else if (e.type == SDL_QUIT) { + if (e.type == SDL_QUIT) { game_.quit(); return; } else if (e.type == SDL_TEXTINPUT) { debugText_.append(e.text.text); } else if (e.type == SDL_KEYDOWN) { - if (e.key.keysym.sym == SDLK_BACKQUOTE) { + if (e.key.keysym.sym == SDLK_ESCAPE) { + if (debugConsole_) { + debugConsole_ = false; + game_.unpauseGameplay(); + SDL_StopTextInput(); + debugText_.clear(); + } else { + if (game_.getSystem().isMenuOpen()) { + game_.getSystem().closePauseMenu(); + } else if (!game_.isGameplayPaused()) { + game_.getSystem().openPauseMenu(); + } + } + } else if (e.key.keysym.sym == SDLK_BACKQUOTE) { #ifdef TANETANE_DEBUG - if (!debugConsole_) { + if (!debugConsole_ && !game_.isGameplayPaused()) { debugConsole_ = true; game_.pauseGameplay(); SDL_StartTextInput(); -- cgit 1.4.1