#pragma once #include "utils.h" #include "sprite.h" #ifndef BULLET_H #define BULLET_H // Clase bala class Bullet { private: int mPosX; // Posición en el eje X int mPosY; // Posición en el eje Y Uint8 mWidth; // Ancho del objeto Uint8 mHeight; // Alto del objeto int mVelX; // Velocidad en el eje X int mVelY; // Velocidad en el eje Y int mKind; // Tipo de objeto int mOwner; // Identificador del dueño del objeto Sprite *mSprite; // Sprite con los graficos y métodos de pintado circle_t mCollider; // Circulo de colisión del objeto // Alinea el circulo de colisión con el objeto void shiftColliders(); public: // Constructor Bullet(); // Destructor ~Bullet(); // Iniciador void init(int x, int y, int kind, bool poweredUp, int owner, LTexture *texture, SDL_Renderer *renderer); // Pinta el objeto en pantalla void render(); // Actualiza la posición y estado del objeto Uint8 move(); // Deshabilita el objeto void erase(); // Comprueba si el objeto está activo bool isActive(); // Obtiene el valor de la variable int getPosX(); // Obtiene el valor de la variable int getPosY(); // Establece el valor de la variable void setPosX(int x); // Establece el valor de la variable void setPosY(int y); // Obtiene el valor de la variable int getVelY(); // Obtiene el valor de la variable int getKind(); // Obtiene el valor de la variable int getOwner(); // Obtiene el circulo de colisión circle_t &getCollider(); }; #endif