#ifndef OBJECT_H #define OBJECT_H #include "point.h" #include "velocity.h" #include "acceleration.h" #include class Object { protected: int width, height; float angle; Point point; Velocity velocity; Acceleration acceleration; bool alive; sf::Texture texture; sf::Sprite sprite; public: Object(); Object(const Point &point); Object(const Point &point, const Velocity &velocity); Object(const Point &point, const Velocity &velocity, const Acceleration &acc); void setAngle(const float angle); void setWidth(const int width); void setHeight(const int height); void setPoint(const Point &point); void setVelocity(const Velocity &velocity); void setAcceleration(const Acceleration &acc); void setAlive(const bool alive); void setTexture(const sf::Texture &texture); void setSprite(const sf::Sprite &sprite); float getAngle(); int getWidth(); int getHeight(); Point getPoint(); Velocity getVelocity(); Acceleration getAcceleration(); bool getAlive(); sf::Texture getTexture(); sf::Sprite getSprite(); void kill(); virtual void update() { this->velocity.update(this->acceleration); this->point.update(this->velocity); } virtual void draw(sf::RenderWindow &window) = 0; }; #endif