package linea;

import javax.swing.JLabel;

public class GestionnaireFinDePartie {

    private boolean estGameOver = false;
    private JLabel labGameOver;
    private GestionnaireScore gestionnaireBDD;
    private GestionnaireHistorique gestionnaireHistorique;

    public GestionnaireFinDePartie(JLabel labGameOver, GestionnaireScore gestionnaireBDD, GestionnaireHistorique gestionnaireHistorique) {
        this.labGameOver = labGameOver;
        this.gestionnaireBDD = gestionnaireBDD;
        this.gestionnaireHistorique = gestionnaireHistorique;
    }

    public void declencherGameOver(ZoneDessin ecran, String pseudo, int score) {
        estGameOver = true;
        ecran.arreter(); // on fige tout, plus d'animation
        labGameOver.setVisible(true);

        // on enregistre dans le classement seulement si y'a un pseudo
        if (pseudo != null && !pseudo.isEmpty()) {
            gestionnaireBDD.sauvegarderScore(pseudo, score);
        }
        // score == durée en secondes (1 pt par seconde, voir Jeu.actionPerformed)
        gestionnaireHistorique.sauvegarderPartie(pseudo, score, score);
    }

    public boolean estGameOver() {
        return estGameOver;
    }

    public void reinitialiser() {
        estGameOver = false;
        labGameOver.setVisible(false);
    }
}