revisió de capçaleres
This commit is contained in:
@@ -1,50 +1,45 @@
|
||||
#pragma once
|
||||
|
||||
#include <memory> // Para shared_ptr
|
||||
#include "animated_sprite.h" // Para SpriteAnimated
|
||||
#include "animated_sprite.h" // Para AnimatedSprite
|
||||
|
||||
class Texture;
|
||||
|
||||
// Clase SpriteSmart
|
||||
// Clase SmartSprite: Sprite animado que se mueve hacia un destino y puede deshabilitarse automáticamente
|
||||
class SmartSprite : public AnimatedSprite
|
||||
{
|
||||
public:
|
||||
// --- Constructor y destructor ---
|
||||
explicit SmartSprite(std::shared_ptr<Texture> texture)
|
||||
: AnimatedSprite(texture) {}
|
||||
~SmartSprite() override = default;
|
||||
|
||||
// --- Métodos principales ---
|
||||
void update() override; // Actualiza la posición y comprueba si ha llegado a su destino
|
||||
void render() override; // Dibuja el sprite
|
||||
|
||||
// --- Getters ---
|
||||
int getDestX() const { return dest_x_; } // Obtiene la posición de destino en X
|
||||
int getDestY() const { return dest_y_; } // Obtiene la posición de destino en Y
|
||||
bool isOnDestination() const { return on_destination_; } // Indica si está en el destino
|
||||
bool hasFinished() const { return finished_; } // Indica si ya ha terminado
|
||||
|
||||
// --- Setters ---
|
||||
void setFinishedCounter(int value) { finished_counter_ = value; } // Establece el contador para deshabilitarlo
|
||||
void setDestX(int x) { dest_x_ = x; } // Establece la posición de destino en X
|
||||
void setDestY(int y) { dest_y_ = y; } // Establece la posición de destino en Y
|
||||
void setEnabled(bool value) { enabled_ = value; } // Habilita o deshabilita el objeto
|
||||
|
||||
private:
|
||||
// Variables
|
||||
// --- Variables internas ---
|
||||
bool on_destination_ = false; // Indica si está en el destino
|
||||
int dest_x_ = 0; // Posicion de destino en el eje X
|
||||
int dest_y_ = 0; // Posicion de destino en el eje Y
|
||||
int dest_x_ = 0; // Posición de destino en el eje X
|
||||
int dest_y_ = 0; // Posición de destino en el eje Y
|
||||
int finished_counter_ = 0; // Contador para deshabilitarlo
|
||||
bool finished_ = false; // Indica si ya ha terminado
|
||||
bool enabled_ = false; // Indica si el objeto está habilitado
|
||||
|
||||
// Comprueba si ha terminado
|
||||
void checkFinished();
|
||||
|
||||
// Comprueba el movimiento
|
||||
void checkMove();
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
explicit SmartSprite(std::shared_ptr<Texture> texture)
|
||||
: AnimatedSprite(texture) {}
|
||||
|
||||
// Destructor
|
||||
~SmartSprite() override = default;
|
||||
|
||||
// Actualiza la posición y comprueba si ha llegado a su destino
|
||||
void update() override;
|
||||
|
||||
// Dibuja el sprite
|
||||
void render() override;
|
||||
|
||||
// Getters
|
||||
int getDestX() const { return dest_x_; }
|
||||
int getDestY() const { return dest_y_; }
|
||||
bool isOnDestination() const { return on_destination_; }
|
||||
bool hasFinished() const { return finished_; }
|
||||
|
||||
// Setters
|
||||
void setFinishedCounter(int value) { finished_counter_ = value; }
|
||||
void setDestX(int x) { dest_x_ = x; }
|
||||
void setDestY(int y) { dest_y_ = y; }
|
||||
void setEnabled(bool value) { enabled_ = value; }
|
||||
// --- Métodos internos ---
|
||||
void checkFinished(); // Comprueba si ha terminado
|
||||
void checkMove(); // Comprueba el movimiento
|
||||
};
|
||||
Reference in New Issue
Block a user