Ejemplo n.º 1
0
    }     //VerifierObjet

    /// <summary>
    /// Change la scene en cours.
    /// </summary>
    /// <param name="nouvelleScene">Le nom de la nouvelle scene (tableau de jeu, combat ou menu).</param>
    public void ChangerScene(string nouvelleScene = null)
    {
        if (nouvelleScene == null)
        {
            nouvelleScene = _memNomScene;
            estRetourAuTableauEnMemoire = true;
        }                                                              //if
        Debug.Log("<color=grey>ChangerScene vers: " + nouvelleScene + "</color>");
        if (SceneUtility.GetBuildIndexByScenePath(nouvelleScene) >= 0) //evite risque d'erreur si la scene n'existe pas
        //la scene demandee existe
        {
            if (!estRetourAuTableauEnMemoire)
            {
                //on sauvegarde seulement si on a pas besoin de l'info!
                _memNomScene = SceneManager.GetActiveScene().name; //sauvegarde du nom de la scene pour utilisation ulterieure
                _memPosPerso = _perso.ObtenirPosition();           //sauvegarde de la position pour utilisation ulterieure
            }                                                      //if
            if (nouvelleScene == "Combat")
            {
                Jeu.tableau = null;
                SceneManager.LoadScene(nouvelleScene);
            }
            else
            {
                //c'est un tableau de jeu
                SceneManager.LoadScene(nouvelleScene);
            }             //if+else
        }
        else
        {
            Debug.LogWarning("ATTENTION! La scène demandée n'existe pas. Vérifiez son nom (" + nouvelleScene + ") et les «Build Settings» du projet.");
        } //if+else
    }     //ChangerScene