#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; };