49 lines
1.1 KiB
GDScript
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
|