Files
coffee_crisis_arcade_edition/source/service_menu.cpp
2025-06-02 11:35:18 +02:00

43 lines
1.0 KiB
C++

#include "service_menu.h"
#include "screen.h"
#include <SDL3/SDL.h>
// Singleton
ServiceMenu *ServiceMenu::instance_ = nullptr;
// Inicializa la instancia única del singleton
void ServiceMenu::init() { ServiceMenu::instance_ = new ServiceMenu(); }
// Libera la instancia
void ServiceMenu::destroy() { delete ServiceMenu::instance_; }
// Obtiene la instancia
ServiceMenu *ServiceMenu::get() { return ServiceMenu::instance_; }
// Constructor
ServiceMenu::ServiceMenu()
{
constexpr float GAP = 15.0f;
rect_ = {GAP, GAP, param.game.width - GAP * 2, param.game.height - GAP * 2};
}
void ServiceMenu::toggle()
{
enabled_ = !enabled_;
}
void ServiceMenu::render()
{
if (enabled_)
{
SDL_SetRenderDrawColor(Screen::get()->getRenderer(), 0, 0, 0, 224);
SDL_RenderFillRect(Screen::get()->getRenderer(), &rect_);
SDL_SetRenderDrawColor(Screen::get()->getRenderer(), 224, 224, 224, 255);
SDL_RenderRect(Screen::get()->getRenderer(), &rect_);
}
}
void ServiceMenu::update()
{
}