#ifndef ACTOR_H #define ACTOR_H #include "SFML/Graphics/Sprite.hpp" #include "SFML/Graphics/Texture.hpp" #include "Bullet.h" #include "Position.h" class Actor { public: Actor(int x, int y, const sf::Texture& texture); virtual void move(float deltaX, float deltaY) = 0; virtual void moveLeft() = 0; virtual void moveRight() = 0; virtual void moveUp() = 0; virtual void moveDown() = 0; virtual void shoot() = 0; std::vector& getBullets(); sf::Sprite& getSprite(); Position getPosition(); void setMovingSpeed(float speed); void updateBullets(); protected: Position position; sf::Sprite actorSprite; sf::Texture actorTexture; sf::Texture bulletTexture; sf::Texture rocketTexture; std::vector bullets; unsigned int hp; unsigned int damage; unsigned int firerate; float moving_speed; }; #endif //ACTOR_H