conductor/main.gd
2026-03-12 21:20:57 -04:00

49 lines
1.1 KiB
GDScript

#@tool
#@icon(icon_path: String)
#class_name MyNode
extends Node
## Documentation comments
## signal
## enum
## const
## @export var
var musicians: Array[Node]
var musician_lights: Array[Node]
@onready var rhythm_manager: RhythmManager = %RhythmManager
@onready var conductor: AnimatedSprite2D = $Conductor
@onready var conductor_light: PointLight2D = %ConductorLight
@onready var click_track: AudioStreamPlayer2D = %ClickTrack
## OVERRIDES
func _ready() -> void:
musicians = get_tree().get_nodes_in_group("musicians")
musician_lights = get_tree().get_nodes_in_group("musician_lights")
rhythm_manager.connect("song_started", on_song_started)
#func _process(delta: float) -> void:
#pass
#
#func _physics_process(delta: float) -> void:
#pass
func _unhandled_input(event: InputEvent) -> void:
if event.is_action_pressed("ready"):
conductor.play("default")
conductor_light.visible = true
click_track.play()
## CORE
## PRIVATE/HELPER
## RECEIVERS
func on_song_started() -> void:
for musician in musicians:
musician.play("default")
for light in musician_lights:
light.visible = true
## SETTERS/GETTERS