74 lines
1.6 KiB
C++
74 lines
1.6 KiB
C++
#pragma once
|
|
|
|
#include <SDL2/SDL.h>
|
|
#include "asset.h"
|
|
#include "screen.h"
|
|
#include "text.h"
|
|
#include "texture.h"
|
|
#include "utils.h"
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#ifndef DEBUG_H
|
|
#define DEBUG_H
|
|
|
|
using namespace std;
|
|
|
|
// 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
|
|
vector<string> slot; // Vector con los textos a escribir
|
|
vector<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(string text);
|
|
|
|
// Borra la información de debug
|
|
void clear();
|
|
|
|
// Añade un texto para mostrar en el apartado log
|
|
void addToLog(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();
|
|
};
|
|
|
|
#endif
|