Système de clavier
Clavier modulaire : KeyboardSystem (avec champ de saisie, style smartphone) et KeyboardSystemWithoutInput (style pendu, retour visuel immédiat par touche).
Le dossier UserInterface/Keybord/ contient un clavier modulaire qui s’adapte au type d’exercice.
Pipeline global
- Initialisation : le clavier lit les
PlayerPrefspour choisir entre clavier complet (AZERTY/QWERTY) ou pavé numérique. - Saisie : selon le type, la lettre s’ajoute dans un
TMP_InputFieldou est envoyée directement au GameManager. - Validation : soit l’élève valide le mot entier avec “Confirmer”, soit la touche se colore immédiatement (vert/rouge comme dans le Pendu).
KeyboardSystem — clavier avec champ de texte
Clavier standard utilisé principalement en mode AS Clavier. Fonctionne comme le clavier d’un smartphone : lié à un TMP_InputField, avec basculement majuscules/minuscules et caractères spéciaux.
| Variable | Description |
|---|---|
OnTextConfirmed | Action<string> déclenché quand l’élève clique sur le bouton de validation. Envoie le mot entier tapé. |
_inputField | TMP_InputField dans lequel les lettres s’ajoutent. Le script force le focus dessus au démarrage. |
_fullKeyboard / _numericKeyboard | Panneaux pour le clavier complet ou le pavé numérique |
_classic... / _special... | Sous-panneaux pour majuscule, minuscule ou caractères spéciaux |
| Méthode | Description |
|---|---|
Start() | Lit la clé "keyboardType" dans les PlayerPrefs et active le bon modèle. |
OnClickSpecialCharacter() | Alterne entre lettres classiques et caractères spéciaux/chiffres. |
OnClickMajuscule() | Gère le Caps Lock : masque les panneaux minuscules, affiche les majuscules. |
OnClickConfirm() | Déclenche OnTextConfirmed avec le texte tapé, puis vide le champ pour la question suivante. |
KeyboardSystemWithoutInput — clavier type pendu
Hérite de KeyboardSystem. Pas de champ de texte ni de bouton “Confirmer”. Dès qu’une lettre est cliquée, elle est envoyée au jeu et la touche se colore selon la réponse.
| Variable | Description |
|---|---|
OnLetterClicked | static Action<string> déclenché à chaque touche pressée |
_buttonsOff | static List<Button> des touches déjà cliquées et désactivées |
| Méthode | Description |
|---|---|
OnClickKey() | Utilise l’EventSystem Unity pour identifier le bouton cliqué, récupère son nom (= la lettre) et déclenche OnLetterClicked. |
DisableKeyWithColor(bool isCorrect) | Appelée par le GameManager après vérification. Désactive la touche, la colore en vert (correct) ou rouge, et l’ajoute à _buttonsOff. |
ResetKeyboard() | Appelée pour chaque nouveau mot. Remet toutes les touches en blanc et cliquables, vide _buttonsOff. |