43 lines
1.0 KiB
C++
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()
|
|
{
|
|
} |