Пример #1
0
    private GameObject infos;               // Référence à l'object Infos pour afficher dans son élément texte les informations de la partie

    void Start()
    {
        grille = new GrilleSudoku(9, 9); // Définition de la grille de 9 par 9
        grille.initVal(0);               // Toutes les cases sont à 0
        GameObject diffManager = GameObject.Find("DifficultyManager");

        if (diffManager) // Vérification que la scène SudokuMenu a fait son travail
        {
            if (diffManager.GetComponent <sceneManager>().resumeGame)
            {
                // Cas où l'on veut reprendre la partie du fichier sauvegardeSudoku
                var loadedData = JSON.Parse(File.ReadAllText(defineSudoku.cheminSauvegarde));
                numGrille      = loadedData["num"].ToString();
                difficulte     = loadedData["difficulte"];
                temps          = float.Parse(loadedData["timer"]);
                affichageTemps = loadedData["timerString"];
                grille.chargementGrilleSauvegarde();
                Destroy(diffManager);
            }
            else
            {
                difficulte = diffManager.GetComponent <sceneManager>().difficulty; // Récupération de la difficulté choisit dans la scène SudokuMenu
                Destroy(diffManager);

                //Choix d'un niveau au hasard selon la difficulté précedement choisie
                int    cpt           = 0;
                string directoryPath = defineSudoku.getCheminDifficulte(difficulte);
                var    info          = new DirectoryInfo(directoryPath);
                var    fileInfo      = info.GetFiles();
                foreach (FileInfo f in fileInfo)
                {
                    if (f.Extension == ".json")
                    {
                        cpt++;
                    }
                }
                int level = UnityEngine.Random.Range(1, cpt + 1);
                numGrille = level.ToString();
            }
        }
        else // Afin de pouvoir lancer la scène Sudoku sans problème
        {
            string[] level = SelectionNiveauAleatoire(); // Chaine de caractères avec la difficulté et le numéro de grille
            difficulte = level[0];
            numGrille  = level[1]; // Numéro de grille choisit au hasard
        }
        infos = GameObject.Find("Infos");
        infos.GetComponent <TextMeshProUGUI>().text = "Difficulty : " + difficulte + "           Level : " + numGrille + "\nTimer : " + affichageTemps; // Changement du texte des infos
        grille.chargementGrille(numGrille, difficulte);                                                                                                 // Chargement de la grille avec la difficulté et son numéro de grille
        UIManager = GameObject.Find("Jeu").GetComponent <UIManager>();
        UIManager.Init();                                                                                                                               // Initialisation des objets visuels
        parent = GameObject.Find("GridManager").transform;
        UIManager.GenerateGrid(0f, 0f, parent);                                                                                                         // Génération de la grille sur la scène
        grille.sauvegardeGrille();                                                                                                                      // Sauvegarde de la grille dès le lancement
    }