using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class AudioLoader : MonoBehaviour {

    public static AudioLoader instance;


    void Start()
    {

        //si mi instancia es cero, osea que no se haya reproducido antes, y entonces no se debe destruír el objeto de audio.

        if (instance == null)
        {
            instance = this;
            GameObject.DontDestroyOnLoad(gameObject);
        }
        else
        {
            Destroy(gameObject);
        }

    }

    //Lel, esto la verdad no lo entendí al cien

    void OnEnable()
    {
        
        SceneManager.sceneLoaded += OnSceneLoaded;
    }

    //Cada que cambia a una escena que especifico, llamo un audio desde mi carpeta de Resources.


    void OnSceneLoaded(Scene scene, LoadSceneMode mode)
    {

        if (scene.name == "MainMenu")
        {
            GetComponent<AudioSource>().clip = (AudioClip)Resources.Load("MainTheme");
            GetComponent<AudioSource>().Play();

        }
        else if (scene.name == "MainTest")
        {
            GetComponent<AudioSource>().clip = (AudioClip)Resources.Load("Overworld");
            GetComponent<AudioSource>().Play();

        }
        else if (scene.name == "Level_Boss")
        {
            GetComponent<AudioSource>().clip = (AudioClip)Resources.Load("BossBattle");
            GetComponent<AudioSource>().Play();

        }
        else if (scene.name == "Player_Win")
        {
            GetComponent<AudioSource>().clip = (AudioClip)Resources.Load("Win");
            GetComponent<AudioSource>().Play();

        }
        else if (scene.name == "Player_Die")
        {

            GetComponent<AudioSource>().clip = (AudioClip)Resources.Load("Death");
            GetComponent<AudioSource>().Play();
        }
    }
}
