Пример #1
0
    // Méthode qui permet au jeu de définir différentes règles sur l'affichage afin d'être plus parlant pour l'utilisateur
    private void afficher(int i, int j, GameObject tile)
    {
        Case  selectedCase     = grille.getVal(i, j);
        Color blue             = new Color32(0, 110, 255, 255);
        Color white            = new Color32(205, 205, 205, 255);
        Color goodValue        = new Color32(80, 170, 255, 255);
        Color badValue         = new Color32(170, 20, 20, 255);
        Color unchangeableCase = new Color32(0, 0, 0, 255);

        if (selectedCase.changeable == false) // Case prédéfinie, préremplie
        {
            tile.transform.GetChild(0).GetComponent <TextMeshProUGUI>().text = this.grille.getVal(i, j).ToString();
            tile.GetComponent <Button>().interactable = false;
            tile.GetComponent <Image>().color         = unchangeableCase;
        }
        else   // Case qui peut être remplie
        {
            tile.transform.GetChild(0).GetComponent <TextMeshProUGUI>().text = grille.getVal(i, j).ToString();
            tile.transform.GetChild(1).GetComponent <TextMeshProUGUI>().text = grille.getVal(i, j).indicesToString();
            if (selectedCase.valeur != 0)
            {
                // Valeur de la case entre 1 et 9
                Color32 textColor = goodValue;
                if (!grille.verifLigne(i) || !grille.verifColonne(j) || !grille.verifCarre(grille.numCarre(i, j)))
                {
                    textColor = badValue;                                                                                                // Changement de couleur si les cases sont mal remplies
                }
                tile.transform.GetChild(0).GetComponent <TextMeshProUGUI>().color = textColor;
            }
            if (selectedCase.selected)
            {
                // Case sélectionnée
                tile.GetComponent <Image>().color = blue;
            }
            else
            {
                // Case non sélectionnée
                tile.GetComponent <Image>().color = white;
            }
        }
    }