Add scenes, static scene-finding mechanism, and scene pool for visual hold/tap notes.
This commit is contained in:
27
rhythm_game/note/visual/note_animator.gd
Normal file
27
rhythm_game/note/visual/note_animator.gd
Normal file
@@ -0,0 +1,27 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user