2024-05-12 00:22:34 -04:00
|
|
|
class_name MusicPlayer extends AudioStreamPlayer
|
2024-05-09 22:21:58 -04:00
|
|
|
|
|
|
|
@onready var data: Data = get_node("/root/Root/Data")
|
|
|
|
var mainMenuPlaylist: Playlist = load("res://Resources/Playlists/mainMenu.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)
|
|
|
|
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.TAVERN:
|
|
|
|
currentLoc = tavernPlaylist
|
|
|
|
Data.Location.ARENA:
|
|
|
|
currentLoc = arenaPlaylist
|
|
|
|
Data.Location.DEAD:
|
|
|
|
pass
|
|
|
|
_onSongFinished()
|