project-kyoku/timelineviews/classicviewmanager.h

44 lines
899 B
C
Raw Normal View History

2021-04-15 11:03:35 -04:00
#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 update() override;
virtual void draw() override;
virtual void initNoteGraphics(Note *note) override;
private:
enum Button
{
ARROW_UP,
ARROW_DOWN,
ARROW_LEFT,
ARROW_RIGHT,
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