You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
project-kyoku/src/classicgame/classicviewmanager.h

33 lines
760 B
C++

#ifndef CLASSICDIVAVIEWMANAGER_H
#define CLASSICDIVAVIEWMANAGER_H
#include "timelineviewmanager.h"
#include "classicactions.h"
#include <memory>
#include <stack>
#include <map>
#include <SFML/Graphics/Font.hpp>
class ClassicSprite;
class ClassicNote;
class ClassicViewManager : public TimelineViewManager
{
public:
explicit ClassicViewManager();
void initNoteSprite(ClassicNote *note);
void resetNoteSprite(ClassicNote *note);
private:
void reallocatePoll(Action kind_of_action);
std::shared_ptr<ClassicSprite> createSprite(Action kind_of_action) const;
using SpritePoll = std::stack<std::shared_ptr<ClassicSprite>>;
std::map<Action, SpritePoll> _sprite_dispatcher;
sf::Font _font;
};
#endif // CLASSICDIVAVIEWMANAGER_H