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

25 lines
621 B
C++

#pragma once
#include "spritecontainer.h"
#include "classicmode/classicactions.h"
#include "classicspritefactory.h"
#include <SFML/Graphics/RenderTarget.hpp>
class ClassicSprite;
class ClassicNote;
class ClassicGraphicsManager
{
public:
explicit ClassicGraphicsManager(sf::RenderTarget& target);
std::shared_ptr<ClassicSprite> getSprite(Type type);
void draw(const std::shared_ptr<ClassicSprite> &sprite);
void drawLine(const Coordinates &p1, const Coordinates &p2);
private:
SpriteContainer<Type, ClassicSpriteFactory, ClassicSprite> _sprite_container;
sf::RenderTarget& _render_target;
};