Files

42 lines
921 B
GDScript

class_name HoldNote extends NoteVisual
@export var start: Node2D
@export var end: Node2D
var start_id: int
var end_id: int
var start_beat: float
var end_beat: float
func reset() -> void:
start_id = -1
end_id = -1
start_beat = -999.0
end_beat = -999.0
func in_use() -> bool:
return start_id >= 0 or end_id >= 0
func update(beat: float) -> void:
var start_scroll: float
if start_beat:
start_scroll = _calculate_scroll(start_beat, beat)
else:
start_scroll = 999.0 # Decently up. (TODO Replace with offset_begin).
_set_start_scroll(start_scroll)
var end_scroll: float
if end_beat:
end_scroll = _calculate_scroll(end_beat, beat)
else:
end_scroll = -999.0 # Decently down. (TODO Replace with offset_end).
_set_end_scroll(end_scroll)
# ======== IMPLEMENTATION ======== #
func _set_start_scroll(scroll: float) -> void:
start.y = scroll
func _set_end_scroll(scroll: float) -> void:
end.y = scroll