extends Node


const sounds : Dictionary[String, AudioStream] = {"click": preload("res://Audio/Effects_r1_Click.wav"),
													"die": preload("res://Audio/Effects_r1_Die.wav"),
													"eat": preload("res://Audio/Effects_r1_Eat.wav"),
													"move": preload("res://Audio/Effects_r1_Move.wav"),
													"ouroboros": preload("res://Audio/Effects_r1_Ouroboros.wav")}

var players : Dictionary[String, AudioStreamPlayer] = {}

func _enter_tree() -> void:
	get_tree().node_added.connect(_on_node_added)

func _ready() -> void:
	for sound in sounds.keys():
		players[sound] = AudioStreamPlayer.new()
		players[sound].stream = sounds[sound]
		add_child(players[sound])

func play_sound(sound: String):
	if sound in sounds.keys():
		players[sound].play()

func _on_node_added(node:Node) -> void:
	if node is Button:
		# If the added node is a button we connect to its mouse_entered and pressed signals
		# and play a sound
		node.pressed.connect(play_sound.bind("click"))
