Files
coffee_crisis/source/smartsprite.h

73 lines
1.6 KiB
C++

#pragma once
#include <SDL2/SDL.h>
#include "utils.h"
#include "animatedsprite.h"
#ifndef SMARTSPRITE_H
#define SMARTSPRITE_H
// Clase SmartSprite
class SmartSprite : public AnimatedSprite
{
private:
bool enabled; // Indica si esta habilitado
bool onDestination; // Indica si está en el destino
int destX; // Posicion de destino en el eje X
int destY; // Posicion de destino en el eje Y
int id; // Identificador
Uint16 enabledCounter; // Contador para deshabilitarlo
Uint8 *introEvents; // Dirección del array de eventos donde notificar el estado
public:
// Constructor
SmartSprite(LTexture *texture, SDL_Renderer *renderer);
// Destructor
~SmartSprite();
// Inicializador
void init();
// Obtiene el valor de la variable
bool isEnabled();
// Establece el valor de la variable
void setEnabled(bool state);
// Obtiene el valor de la variable
Uint16 getEnabledTimer();
// Establece el valor de la variable
void setEnabledTimer(Uint16 time);
// Establece el valor de la variable
void setDestX(int value);
// Establece el valor de la variable
void setDestY(int value);
// Obtiene el valor de la variable
int getDestX();
// Obtiene el valor de la variable
int getDestY();
// Actualiza la posición y comprueba si ha llegado a su destino
bool update();
// Obtiene el valor de la variable
bool isOnDestination();
// Pinta el objeto en pantalla
void render();
// Establece el valor de la variable
void setId(int id);
// Establece el valor de la variable
void setIntroEvents(Uint8 *value);
};
#endif