26 lines
557 B
GDScript
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)
|