Files

26 lines
557 B
GDScript

@abstract class_name NoteVisual extends Node2D
enum TYPE {
TAP = 0,
HOLD = 1
}
@abstract func reset() -> void
@abstract func in_use() -> bool
@abstract func update(beat: float) -> void
# ======= IMPLEMENTATION ======= #
var _lane: Lane = null
func _notification(what: int) -> void:
match what:
NOTIFICATION_PARENTED:
_lane = get_parent() as Lane
NOTIFICATION_UNPARENTED:
_lane = null
static func _calculate_scroll(target_beat: float, current_beat: float) -> float:
return Settings.get_note_scroll_speed() * (current_beat - target_beat)