#pragma once #include #include "tools/mathutils.h" #include "sprite.h" #include #include class ClassicSprite : public Sprite { public: explicit ClassicSprite(const std::shared_ptr& render_target, const sf::RectangleShape& shape); virtual void reset() override; virtual void display() const override; void setCoordinates(const Coordinates &coordinates); void setTrailCoordinates(const Coordinates &coordinates); Coordinates coordinates() const; Coordinates trailCoordinates() const; void setColor(const sf::Color& color); void setTrailColor(const sf::Color& color); sf::Color color() const; sf::Color trailColor() const; private: sf::RectangleShape _prototype; sf::RectangleShape _shape; sf::RectangleShape _trail; const std::shared_ptr _render_target; };