Abans de renombrar player.cpp
This commit is contained in:
@@ -8,17 +8,15 @@
|
||||
#include <string> // for basic_string, string
|
||||
#include "utils.h" // for Color
|
||||
#include <memory>
|
||||
class Asset;
|
||||
class Input;
|
||||
class Notify;
|
||||
|
||||
enum class ScreenFilter
|
||||
enum class ScreenFilter : int
|
||||
{
|
||||
NEAREST = 0,
|
||||
LINEAL = 1,
|
||||
};
|
||||
|
||||
enum class ScreenVideoMode
|
||||
enum class ScreenVideoMode : int
|
||||
{
|
||||
WINDOW = 0,
|
||||
FULLSCREEN = 1,
|
||||
@@ -28,29 +26,27 @@ class Screen
|
||||
{
|
||||
private:
|
||||
// [SINGLETON] Objeto screen privado para Don Melitón
|
||||
static Screen *screen;
|
||||
static Screen *screen_;
|
||||
|
||||
// Objetos y punteros
|
||||
SDL_Window *window; // Ventana de la aplicación
|
||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||
Asset *asset; // Objeto con el listado de recursos
|
||||
Input *input; // Objeto para leer las entradas de teclado o mando
|
||||
std::unique_ptr<Notify> notify; // Pinta notificaciones en pantalla
|
||||
SDL_Texture *gameCanvas; // Textura donde se dibuja todo antes de volcarse al renderizador
|
||||
SDL_Texture *shaderCanvas; // Textura para pasarle al shader desde gameCanvas
|
||||
SDL_Window *window_; // Ventana de la aplicación
|
||||
SDL_Renderer *renderer_; // El renderizador de la ventana
|
||||
std::unique_ptr<Notify> notify_; // Pinta notificaciones en pantalla
|
||||
SDL_Texture *game_canvas_; // Textura donde se dibuja todo antes de volcarse al renderizador
|
||||
SDL_Texture *shader_canvas_; // Textura para pasarle al shader desde gameCanvas
|
||||
|
||||
// Variables
|
||||
SDL_Rect srcrect; // Coordenadas de donde va a pillar la textura del juego para dibujarla
|
||||
SDL_Rect dstrect; // Coordenadas donde se va a dibujar la textura del juego sobre la pantalla o ventana
|
||||
Color borderColor; // Color del borde añadido a la textura de juego para rellenar la pantalla
|
||||
bool attenuateEffect; // Indica si la pantalla ha de estar atenuada
|
||||
Uint32 fpsTicks; // Ticks para contar los frames por segundo
|
||||
int fpsCounter; // Contador de frames por segundo
|
||||
int fps; // Frames calculados en el último segundo
|
||||
bool showInfo; // Indica si ha de mostrar/ocultar la información de la pantalla
|
||||
std::string infoResolution; // Texto con la informacion de la pantalla
|
||||
SDL_Rect src_rect_; // Coordenadas de donde va a pillar la textura del juego para dibujarla
|
||||
SDL_Rect dst_rect_; // Coordenadas donde se va a dibujar la textura del juego sobre la pantalla o ventana
|
||||
Color border_color_; // Color del borde añadido a la textura de juego para rellenar la pantalla
|
||||
bool attenuate_effect_; // Indica si la pantalla ha de estar atenuada
|
||||
Uint32 fps_ticks_; // Ticks para contar los frames por segundo
|
||||
int fps_counter_; // Contador de frames por segundo
|
||||
int fps_; // Frames calculados en el último segundo
|
||||
bool show_info_; // Indica si ha de mostrar/ocultar la información de la pantalla
|
||||
std::string info_resolution_; // Texto con la informacion de la pantalla
|
||||
|
||||
struct effect_t
|
||||
struct FlashEffect
|
||||
{
|
||||
bool enabled; // Indica si el efecto está activo
|
||||
int counter; // Contador para el efecto
|
||||
@@ -58,10 +54,7 @@ private:
|
||||
Color color; // Color del efecto
|
||||
};
|
||||
|
||||
// Variables - Efectos
|
||||
effect_t flashEffect; // Variable para gestionar el efecto de flash
|
||||
|
||||
struct shake_t
|
||||
struct ShakeEffect
|
||||
{
|
||||
int desp; // Pixels de desplazamiento para agitar la pantalla en el eje x
|
||||
int delay; // Retraso entre cada desplazamiento de la pantalla al agitarse
|
||||
@@ -71,10 +64,14 @@ private:
|
||||
int originalPos; // Posición inicial de la pantalla para dejarla igual tras el desplazamiento
|
||||
int originalWidth; // Anchura inicial de la pantalla para dejarla igual tras el desplazamiento
|
||||
bool enabled; // Indica si el efecto está activo
|
||||
} shakeEffect;
|
||||
};
|
||||
|
||||
// Variables - Efectos
|
||||
FlashEffect flash_effect_; // Variable para gestionar el efecto de flash
|
||||
ShakeEffect shake_effect_; // Variable para gestionar el efecto de agitar la pantalla
|
||||
|
||||
// Actualiza la logica para agitar la pantalla
|
||||
void updateShake();
|
||||
void updateShakeEffect();
|
||||
|
||||
// Actualiza y dibuja el efecto de flash en la pantalla
|
||||
void doFlash();
|
||||
@@ -122,7 +119,7 @@ public:
|
||||
void blit();
|
||||
|
||||
// Establece el modo de video
|
||||
void setVideoMode(ScreenVideoMode videoMode);
|
||||
void setVideoMode(ScreenVideoMode video_mode);
|
||||
|
||||
// Camibia entre pantalla completa y ventana
|
||||
void switchVideoMode();
|
||||
@@ -140,7 +137,7 @@ public:
|
||||
void setBorderColor(Color color);
|
||||
|
||||
// Cambia el tipo de mezcla
|
||||
void setBlendMode(SDL_BlendMode blendMode);
|
||||
void setBlendMode(SDL_BlendMode blend_mode);
|
||||
|
||||
// Agita la pantalla
|
||||
void shake();
|
||||
@@ -158,7 +155,7 @@ public:
|
||||
void showNotification(std::string text1 = "", std::string text2 = "", int icon = -1);
|
||||
|
||||
// Indica si hay alguna notificación activa en pantalla
|
||||
bool notificationsAreActive();
|
||||
bool notificationsAreActive() const;
|
||||
|
||||
// Obtiene el puntero al renderizador
|
||||
SDL_Renderer *getRenderer();
|
||||
|
||||
Reference in New Issue
Block a user