Files
coffee-crisis-ae/source/service_menu.h
T

37 lines
1.1 KiB
C++

#pragma once
#include <vector>
#include <string>
#include <memory>
#include <SDL3/SDL.h>
class Text;
class ServiceMenu
{
public:
// --- Métodos de singleton ---
static void init(); // Inicializa el objeto ServiceMenu
static void destroy(); // Libera el objeto ServiceMenu
static ServiceMenu *get(); // Obtiene el puntero al objeto ServiceMenu
// -- Métodos ---
void toggle();
void render();
void update();
private:
// -- Variables internas ---
bool enabled_ = false; // Indica si el menú de servicio está activo
SDL_FRect rect_; // Rectangulo para definir el area del menú de servicio
std::shared_ptr<Text> text_; // Objeto para escribir texto;
// --- Patrón Singleton ---
ServiceMenu(); // Constructor privado
~ServiceMenu() = default; // Destructor privado
ServiceMenu(const ServiceMenu &) = delete; // Evitar copia
ServiceMenu &operator=(const ServiceMenu &) = delete; // Evitar asignación
// --- Singleton ---
static ServiceMenu *instance_;
};