#include #include bool Breakout::Update(std::vector& events) { for (auto& event : events) { if (m_status == pause) { ProcessEventDuringPause(event); } else { ProcessEventDuringResume(event); } } if (m_status == pause) { DrawPauseMenu(); } if (m_status == exit) { return false; } return true; } void Breakout::ProcessEventDuringResume(SDL_Event& event) { switch (event.type) { case SDL_EVENT_KEY_DOWN: { if (event.key.key == SDLK_ESCAPE) { m_status = pause; } } break; default:; } } void Breakout::ProcessEventDuringPause(SDL_Event &event) { switch (event.type) { case SDL_EVENT_KEY_DOWN: { if (event.key.key == SDLK_ESCAPE) { m_status = resume; } } break; default:; } } void Breakout::DrawPauseMenu() { ImGui::Begin("BreakoutPause"); if (ImGui::Button("Resume")) { m_status = resume; } if (ImGui::Button("Exit")) { m_status = exit; } ImGui::End(); }