Quitadas todas las variables globales y transformadas en punteros

This commit is contained in:
2022-10-20 18:24:12 +02:00
parent 596bf2c4a5
commit b4e76a4c7d
25 changed files with 848 additions and 781 deletions

View File

@@ -3,86 +3,93 @@
#include "sprite.h"
#include "const.h"
#include "globals.h"
#include "globals2.h"
#include "text.h"
#ifndef MENU_H
#define MENU_H
//Clase menu
// Clase menu
class Menu
{
public:
//Constructor
Menu();
// Constructor
Menu(SDL_Renderer *gRenderer);
//Inicializador
// Destructor
~Menu();
// Inicializador
void init(int x, int y, int offset_sprite_selector, int backgroundType);
//Obtiene el valor de la variable
// Obtiene el valor de la variable
Uint8 getItemSelected();
//Mueve el grafico del selector al elemento seleccionado
// Mueve el grafico del selector al elemento seleccionado
void moveSelectorSprite(int pos);
//Deja el menu apuntando al primer elemento
// Deja el menu apuntando al primer elemento
void resetMenu();
//Deja el menu apuntando al siguiente elemento
// Deja el menu apuntando al siguiente elemento
void increaseSelectorIndex();
//Deja el menu apuntando al elemento anterior
// Deja el menu apuntando al elemento anterior
void decreaseSelectorIndex();
//Comprueba la entrada (teclado, gamepad) y actua en consecuencia
// Comprueba la entrada (teclado, gamepad) y actua en consecuencia
void checkInput(Uint8 input);
//Pinta el menu en pantalla
// Pinta el menu en pantalla
void render(Text &text);
//Establece el rectangulo de fondo del menu
// Establece el rectangulo de fondo del menu
void setRectSize();
//Establece el valor de la variable
// Establece el valor de la variable
void setTotalItems(int num);
//Establece el color del rectangulo de fondo
// Establece el color del rectangulo de fondo
void setBackgroundColor(int r, int g, int b, int alpha);
//Centra el menu en pantalla
// Centra el menu en pantalla
void centerMenuOnScreen();
//Añade un item al menu
// Añade un item al menu
void addItem(std::string text);
private:
//Posicion X/Y del texto del primer elemento del menu
// El renderizador de la ventana
SDL_Renderer *gRenderer;
LTexture *gMenuTexture;
// Posicion X/Y del texto del primer elemento del menu
int mPosX;
int mPosY;
//Elemento del menu que tiene el foco
// Elemento del menu que tiene el foco
Uint8 mSelectorIndex;
//Numero de items del menu
// Numero de items del menu
Uint8 mTotalItems;
//Item del menu que ha sido seleccionado
// Item del menu que ha sido seleccionado
Uint8 mItemSelected;
//Tipo de fondo para el menu
// Tipo de fondo para el menu
Uint8 mBackgroundType;
//Sprite con los graficos del selector
// Sprite con los graficos del selector
Sprite mSelectorSprite;
//Rectangulo y colores para el fondo del menu
// Rectangulo y colores para el fondo del menu
SDL_Rect mRect;
Uint8 mRectR; //Rojo
Uint8 mRectG; //Verde
Uint8 mRectB; //Azul
Uint8 mRectA; //Alfa o transparencia
Uint8 mRectR; // Rojo
Uint8 mRectG; // Verde
Uint8 mRectB; // Azul
Uint8 mRectA; // Alfa o transparencia
//Estructura para cada elemento del menu
// Estructura para cada elemento del menu
struct MenuItem
{
std::string label;