29 lines
696 B
GDScript
29 lines
696 B
GDScript
extends Node
|
|
|
|
@export var tracks : Array[AudioStream]
|
|
@export var player : AudioStreamPlayer
|
|
@export var timer : Timer
|
|
var last_played : int = 0
|
|
|
|
# Called when the node enters the scene tree for the first time.
|
|
func _ready() -> void:
|
|
pass
|
|
|
|
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
|
func _process(delta: float) -> void:
|
|
#print(player.get_playback_position())
|
|
pass
|
|
|
|
|
|
func _on_audio_stream_player_finished() -> void:
|
|
var new_track : int
|
|
while new_track == last_played:
|
|
new_track = randi_range(0,tracks.size()-1)
|
|
player.stream = tracks[new_track]
|
|
last_played = new_track
|
|
timer.start(randf_range(5,15))
|
|
|
|
|
|
func _on_timer_timeout() -> void:
|
|
|
|
player.play()
|