Files
2021-03-17 12:34:11 +01:00

104 lines
2.1 KiB
C++

#pragma once
#include "ifdefs.h"
#include "animatedsprite.h"
#include "utils.h"
#ifndef ITEM_H
#define ITEM_H
// Clase AnimatedSprite
class Item
{
public:
// Constructor
Item();
// Destructor
~Item();
// Iniciador
void init(Uint8 value, float x, float y, LTexture* texture, SDL_Renderer *renderer);
// Centra el objeto en la posición X
void allignTo(int x);
// Pinta el objeto en la pantalla
void render();
// Actualiza la posición y estados del objeto
void move();
// Pone a cero todos los valores del objeto
void erase();
// Actualiza al objeto a su posicion, animación y controla los contadores
void update();
// Actualiza el contador
void updateTimeToLive();
// Comprueba si el objeto sigue vivo
void checkTimeToLive();
// Obtiene del valor de la variable
float getPosX();
// Obtiene del valor de la variable
float getPosY();
// Obtiene del valor de la variable
int getWidth();
// Obtiene del valor de la variable
int getHeight();
// Obtiene del valor de la variable
int getClass();
// Obtiene el valor de la variable
bool isEnabled();
// Establece el valor de la variable
void setEnabled(bool value);
// Obtiene el circulo de colisión
circle_t &getCollider();
// Temporizador con el tiempo que el objeto está presente
Uint16 mTimeToLive;
private:
// Posición X,Y del objeto
float mPosX;
float mPosY;
// Alto y ancho del objeto
Uint8 mWidth;
Uint8 mHeight;
// Variables para controlar la velocidad del objeto
float mVelX;
float mVelY;
// Aceleración
float mAccelX;
float mAccelY;
// Sprite con los graficos del objeto
AnimatedSprite *mSprite;
// Especifica el tipo de objeto que es
Uint8 mClass;
// Especifica si está habilitado el objeto
bool mEnabled;
// Circulo de colisión del objeto
circle_t mCollider;
// Alinea el circulo de colisión con la posición del objeto
void shiftColliders();
};
#endif