32 lines
		
	
	
		
			779 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			779 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include "classicmode/classicactions.h"
 | |
| 
 | |
| #include "core/gameevent.h"
 | |
| #include "core/point.h" 
 | |
| 
 | |
| #include <memory>
 | |
| #include <vector>
 | |
| #include <array>
 | |
| 
 | |
| class ClassicNoteGraphics;
 | |
| class ClassicAnimationScenario;
 | |
| 
 | |
| struct ArrowElement
 | |
| {
 | |
|     std::shared_ptr<ClassicNoteGraphics> sprite;
 | |
|     std::array<std::shared_ptr<ClassicAnimationScenario>, 5> animations;
 | |
| 
 | |
|     kku::SystemEvent::Key::Code pressed_as = kku::SystemEvent::Key::Code::Unknown;
 | |
| 
 | |
|     kku::Point position;
 | |
|     std::vector<kku::Point> falling_curve_interpolation;
 | |
|     std::array<kku::SystemEvent::Key::Code, 2> keys;
 | |
|     Type type = Type::NONE;
 | |
|     bool pressed = false;
 | |
| 
 | |
|     // Each note may consist of several buttons.
 | |
|     // For example, ↑ → or ↓ → ←
 | |
|     // Note Element represents this idea.
 | |
| };
 |