#include "menu_system.h" #include "game.h" void MenuSystem::tick(double dt) { pauseAnimation_.tick(dt); if (openState_ == OpenState::Animating && pauseAnimation_.isComplete()) { if (pauseAnimation_.getProgress() == 0.0) { openState_ = OpenState::Closed; game_.unpauseGameplay(); } else if (pauseAnimation_.getProgress() == 1.0) { openState_ = OpenState::Open; } } } void MenuSystem::openPauseMenu() { pauseAnimation_.start(125, 1.0); openState_ = OpenState::Animating; game_.pauseGameplay(); menu_ = CreateMenu({ MenuBuilder().Command("Settings"), MenuBuilder().Command("Return to Main Menu"), MenuBuilder().Command("Resume Game") }); } void MenuSystem::closePauseMenu() { pauseAnimation_.start(125, 0.0); openState_ = OpenState::Animating; }