forked from jaildesigner-jailgames/jaildoctors_dilemma
67 lines
1.7 KiB
C++
67 lines
1.7 KiB
C++
#pragma once
|
|
|
|
#include <SDL2/SDL_rect.h> // for SDL_Point
|
|
#include <SDL2/SDL_render.h> // for SDL_Renderer
|
|
#include <string> // for string
|
|
#include <vector> // for vector
|
|
class Asset;
|
|
class Screen;
|
|
class Text;
|
|
class Texture;
|
|
|
|
// Clase Debug
|
|
class Debug
|
|
{
|
|
private:
|
|
// Objetos y punteros
|
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
|
Screen *screen; // Objeto encargado de dibujar en pantalla
|
|
Asset *asset; // Objeto con los ficheros de recursos
|
|
Text *text; // Objeto encargado de escribir texto en pantalla
|
|
Texture *texture; // Textura para el texto
|
|
|
|
// Variables
|
|
std::vector<std::string> slot; // Vector con los textos a escribir
|
|
std::vector<std::string> log; // Vector con los textos a escribir
|
|
int x; // Posicion donde escribir el texto de debug
|
|
int y; // Posición donde escribir el texto de debug
|
|
bool enabled; // Indica si esta activo el modo debug
|
|
|
|
public:
|
|
// Constructor
|
|
Debug(SDL_Renderer *renderer, Screen *screen, Asset *asset);
|
|
|
|
// Destructor
|
|
~Debug();
|
|
|
|
// Actualiza las variables
|
|
void update();
|
|
|
|
// Dibuja en pantalla
|
|
void render();
|
|
|
|
// Establece la posición donde se colocará la información de debug
|
|
void setPos(SDL_Point p);
|
|
|
|
// Añade un texto para mostrar
|
|
void add(std::string text);
|
|
|
|
// Borra la información de debug
|
|
void clear();
|
|
|
|
// Añade un texto para mostrar en el apartado log
|
|
void addToLog(std::string text);
|
|
|
|
// Borra la información de debug del apartado log
|
|
void clearLog();
|
|
|
|
// Establece el valor de la variable
|
|
void setEnabled(bool value);
|
|
|
|
// Obtiene el valor de la variable
|
|
bool getEnabled();
|
|
|
|
// Cambia el valor de la variable
|
|
void switchEnabled();
|
|
};
|