class_name MusicPlayer extends AudioStreamPlayer @onready var data: Data = get_node("/root/Root/Data") var mainMenuPlaylist: Playlist = load("res://Resources/Playlists/mainMenu.tres") var creditsPlaylist: Playlist = load("res://Resources/Playlists/credits.tres") var tavernPlaylist: Playlist = load("res://Resources/Playlists/tavern.tres") var arenaPlaylist: Playlist = load("res://Resources/Playlists/arena.tres") var currentLoc: Playlist # Called when the node enters the scene tree for the first time. func _ready(): mainMenuPlaylist.init(false) creditsPlaylist.init(false) tavernPlaylist.init(true) arenaPlaylist.init(true) currentLoc = mainMenuPlaylist setLoc(data.loc) func _onSongFinished() -> void: stream = load(currentLoc.getNext()) play() func setLoc(loc: Data.Location): currentLoc.index = 0 stop() match loc: Data.Location.MAINMENU: currentLoc = mainMenuPlaylist Data.Location.CREDITS: currentLoc = creditsPlaylist Data.Location.TAVERN: currentLoc = tavernPlaylist Data.Location.ARENA: currentLoc = arenaPlaylist Data.Location.DEAD: pass _onSongFinished()