|
|
|
@ -52,15 +52,24 @@ public:
|
|
|
|
|
const Coordinates& getCoordinates() const noexcept;
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
const Coordinates _coordinates;
|
|
|
|
|
const PrecisionEvaluator<Grade> _evaluator;
|
|
|
|
|
const std::array<const sf::Keyboard::Key, 2> _keys;
|
|
|
|
|
|
|
|
|
|
const std::unique_ptr<ClassicGraphicsManager>& _graphics_manager;
|
|
|
|
|
std::shared_ptr<ClassicSprite> _sprite;
|
|
|
|
|
struct NoteElement
|
|
|
|
|
{
|
|
|
|
|
std::shared_ptr<ClassicSprite> _sprite;
|
|
|
|
|
std::array<std::shared_ptr<ClassicAnimationScenario>, 5> _animations;
|
|
|
|
|
|
|
|
|
|
const Type _type;
|
|
|
|
|
const std::array<const sf::Keyboard::Key, 2> _keys;
|
|
|
|
|
const Coordinates _coordinates;
|
|
|
|
|
const Type _type;
|
|
|
|
|
|
|
|
|
|
bool pressed = false;
|
|
|
|
|
sf::Keyboard::Key pressed_as;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
std::vector<NoteElement> _elements;
|
|
|
|
|
|
|
|
|
|
const PrecisionEvaluator<Grade> _evaluator;
|
|
|
|
|
const std::unique_ptr<ClassicGraphicsManager>& _graphics_manager;
|
|
|
|
|
|
|
|
|
|
State _state;
|
|
|
|
|
std::array<std::shared_ptr<ClassicAnimationScenario>, 5> _animations;
|
|
|
|
|
};
|
|
|
|
|