<aside> ℹ️

Ui des vies et du timer communes à tous les jeux, pareil pour la GameManager, c’est 1 seul dans la MainScene.

!! BIEN PENSER À METTRE LE SCRIPT PRINCIPAL (GAMEMANAGER) SUR LA MAIN CAMERA DE VOTRE JEU —> VOUS UTILISEREZ ENSUITE LA MAIN CAMERA SUR VOTRE SCRIPT !! —> FAKE NEWS, maintenant le GameManager est instancié

</aside>

[SerializeField] float durationSeconds = 5f; //DURÉE DU MINI JEU
    [SerializeField] public GameManager gameManager;

    void Start() //ptet faire autre chose pour l'appeler après un delay
    {
        // 1) Démarrer le timer commun à l’entrée du mini-jeu
        gameManager.StartTimer(durationSeconds);

        // 2) Option : si le timer finit => on considère que c’est un échec
        gameManager.OnTimerEnded += HandleTimeout;

        // 3) Option : écoute globale si tu veux enchaîner depuis ICI après win/fail
        gameManager.OnMinigameWon   += AfterWin;
        gameManager.OnMinigameFailed+= AfterFail;
    }
    // NE PAS OUBLIER AUSSI DE DESACTIVER LES VALEURS DES AUTRES MINI-JEUX

    // --- LOGIQUE DE RÉUSSITE ---
    public void OnPlayerSucceeded()
    {
        gameManager.NotifyWin();
    }

    // --- LOGIQUE D'ECHEC ---
    void HandleTimeout()
    {
        gameManager.NotifyFail();
    }

    // --- CE QU'ON VEUT FAIRE À LA FIN D'UN MINI-JEU ---
    void AfterWin()
    {
        // Exemple : augmenter le round et charger un autre mini-jeu
        gameManager.AddRound();
        // typiquement on peut lancer ce qu'on veut après, 
        // même une animation spécifique ou autre
        // on peut aussi mettre de quoi charger une autre scène :
        // eSceneManager.LoadSceneAsync("AutreMiniJeu", LoadSceneMode.Additive);
    }

    void AfterFail()
    {
        gameManager.LoseLife();
        //idem : enchainer, rejouer un feedback, etc.
    }