2021-06-16 13:11:00 -04:00
|
|
|
#pragma once
|
|
|
|
|
2021-09-14 15:02:23 -04:00
|
|
|
#include "spritecontainer.h"
|
2021-06-16 13:11:00 -04:00
|
|
|
#include "classicactions.h"
|
|
|
|
#include "classicspritefactory.h"
|
|
|
|
|
2021-06-23 15:18:33 -04:00
|
|
|
#include <SFML/Graphics/RenderTarget.hpp>
|
|
|
|
|
2021-06-16 13:11:00 -04:00
|
|
|
class ClassicSprite;
|
|
|
|
class ClassicNote;
|
|
|
|
|
|
|
|
class ClassicGraphicsManager
|
|
|
|
{
|
|
|
|
public:
|
2021-06-23 15:18:33 -04:00
|
|
|
explicit ClassicGraphicsManager(sf::RenderTarget& target);
|
2021-06-16 13:11:00 -04:00
|
|
|
|
2021-07-14 22:45:52 -04:00
|
|
|
std::shared_ptr<ClassicSprite> getSprite(Type type);
|
|
|
|
void draw(const std::shared_ptr<ClassicSprite> &sprite);
|
|
|
|
void drawLine(const Coordinates &p1, const Coordinates &p2);
|
2021-06-16 13:11:00 -04:00
|
|
|
|
|
|
|
private:
|
2021-06-23 15:18:33 -04:00
|
|
|
SpriteContainer<Type, ClassicSpriteFactory, ClassicSprite> _sprite_container;
|
|
|
|
sf::RenderTarget& _render_target;
|
2021-06-16 13:11:00 -04:00
|
|
|
};
|