project-kyoku/timelineviews/classicviewmanager.h

39 lines
751 B
C++

#ifndef CLASSICDIVAVIEWMANAGER_H
#define CLASSICDIVAVIEWMANAGER_H
#include "timelineviewmanager.h"
#include <vector>
#include <memory>
class Sprite;
class ClassicViewManager : public TimelineViewManager
{
public:
explicit ClassicViewManager();
virtual ~ClassicViewManager() override;
virtual void initNoteGraphics(Note *note) override;
private:
enum Button
{
SHOULDER_RIGHT,
SHOULDER_LEFT,
AMOUNT_OF_KINDS
};
using SpritePoll = std::vector<std::shared_ptr<Sprite>>;
using SpriteDispatcher = std::array<SpritePoll, AMOUNT_OF_KINDS>;
SpriteDispatcher _sprite_dispatcher;
std::shared_ptr<Sprite> createSprite(Button kind_of_button) const;
};
#endif // CLASSICDIVAVIEWMANAGER_H