28 lines
790 B
GDScript
28 lines
790 B
GDScript
class_name NoteAnimator extends NoteView
|
|
|
|
@export var pool: NotePool
|
|
|
|
## TODO WARNING: This is currently only implemented for beat updates
|
|
## going forward in time.
|
|
func update_current_beat(beat: float) -> void:
|
|
var old_begin: int = _begin
|
|
var old_end: int = _end
|
|
super.update_current_beat(beat) # Update _begin and _end.
|
|
_update_note_visuals(old_begin, _begin)
|
|
_update_note_visuals(old_end, _end)
|
|
|
|
|
|
# ======== IMPLEMENTATION ======== #
|
|
var _note_map: Dictionary[int, NoteVisual]
|
|
|
|
func _update_note_visuals(index_begin: int, index_end: int) -> void:
|
|
for i: int in range(index_begin, index_end):
|
|
# TODO: Either get or return node from pool,
|
|
# depending on if index_begin > or < than index_end.
|
|
pass
|
|
|
|
func _set_notes(p_notes: NoteArray) -> void:
|
|
|
|
notes = p_notes
|
|
_reset_view()
|