project-kyoku/modes/classicmode/graphics/classicsprite.h

35 lines
962 B
C
Raw Normal View History

#pragma once
#include <memory>
#include "tools/mathutils.h"
#include "sprite.h"
#include <SFML/Graphics/RectangleShape.hpp>
#include <SFML/Graphics/RenderTarget.hpp>
class ClassicSprite : public Sprite
{
public:
explicit ClassicSprite(const std::shared_ptr<sf::RenderTarget>& 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;
2021-07-14 22:45:52 -04:00
Coordinates trailCoordinates() const;
void setColor(const sf::Color& color);
void setTrailColor(const sf::Color& color);
sf::Color color() const;
sf::Color trailColor() const;
private:
2021-06-16 13:11:00 -04:00
sf::RectangleShape _prototype;
sf::RectangleShape _shape;
2021-06-11 12:58:44 -04:00
sf::RectangleShape _trail;
const std::shared_ptr<sf::RenderTarget> _render_target;
};