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

public class GameManager : MonoBehaviour
{
    [SerializeField] private Piece[] _pieces; // Tableau des pièces sur la scène
    [SerializeField] private AudioClip _sonMelange; // Son de mélange
    [SerializeField] private AudioClip _sonClic; // Son de clic
    [SerializeField] private AudioClip _sonGagne; // Son de victoire

    [SerializeField] private Animator _carreFlashFx; // Effet visuel (quand le puzzle est complété)

    private AudioSource _audio; // composant AudioSource

    void Start()
    {
        _audio = GetComponent<AudioSource>();
        Commencer();
    }

    // Initialiser le jeu
    public void Commencer()
    {
        for (int i = 0; i < _pieces.Length; i++)
        {
            _pieces[i].RotationAleatoire(); // Rotation aléatoire des pièces
        }

        JouerSon("Melange");
    }

    // Vérifier si le jeu est terminé
    public void VerifierSiFini()
    {
        // si toutes les pièces sont bien placées...
        if (_pieces[0].BienPlacee() && 
           _pieces[1].BienPlacee() && 
           _pieces[2].BienPlacee() &&
           _pieces[3].BienPlacee() 
        )
        {
            JouerSon("Gagne");
            _carreFlashFx.SetTrigger("flash"); // Déclenche l'animation de flash
        }
    }

    // Jouer un son selon le nom reçu (chaîne)
    public void JouerSon(string nomDuSon)
    {
        if (nomDuSon == "Clic")
        {
            _audio.PlayOneShot(_sonClic);
        }
        else if (nomDuSon == "Melange")
        {
            _audio.PlayOneShot(_sonMelange);
        }
        else if (nomDuSon == "Gagne")
        {
            _audio.PlayOneShot(_sonGagne);
        }
    }

}
