#include "classicsprite.h" #include ClassicSprite::ClassicSprite(const std::shared_ptr &render_target, const sf::RectangleShape& shape) : _prototype(shape), _shape(shape), _trail(shape), _render_target(render_target) {} void ClassicSprite::reset() { _shape.setPosition(0, 0); _trail.setPosition(0, 0); _shape = _prototype; _trail = _prototype; } void ClassicSprite::setCoordinates(const Coordinates& coordinates) { _shape.setPosition(coordinates.x, coordinates.y); } void ClassicSprite::setTrailCoordinates(const Coordinates &coordinates) { _trail.setPosition(coordinates.x, coordinates.y); } Coordinates ClassicSprite::coordinates() const { return Coordinates(_shape.getPosition().x, _shape.getPosition().y); } Coordinates ClassicSprite::trailCoordinates() const { return Coordinates(_trail.getPosition().x, _trail.getPosition().y); } void ClassicSprite::setColor(const sf::Color& color) { _shape.setFillColor(color); } void ClassicSprite::setTrailColor(const sf::Color& color) { _trail.setFillColor(color); } sf::Color ClassicSprite::color() const { return _shape.getFillColor(); } sf::Color ClassicSprite::trailColor() const { return _trail.getFillColor(); } void ClassicSprite::display() const { _render_target->draw(_shape); _render_target->draw(_trail); }