Accueil Github ↗
Itération 3

Navigation

Utilitaires QoL pour la navigation dans les menus : navigation Tab clavier, remise à zéro du scroll et curseur personnalisé sur boutons désactivés.

Le dossier UserInterface/Navigation/ regroupe des petits scripts d’accessibilité et de qualité de vie.

TabNavigation — accessibilité clavier

Permet de naviguer entre boutons et champs de texte avec la touche Tab, exactement comme sur un site web.

Update() : vérifie à chaque frame si Tab est pressé. Si oui, sélectionne l’élément suivant (FindSelectableOnDown). Si Shift + Tab, remonte à l’élément précédent (FindSelectableOnUp).

ResetScrollRect — remise à zéro du scroll

Corrige un problème UI courant : quand un joueur fait défiler une liste jusqu’en bas, ferme le menu, puis le rouvre, la liste reste bloquée en bas. Ce script la force en haut à chaque ouverture.

OnEnable() : appelé dès que le panneau est activé, déclenche ResetScroll() immédiatement.

ResetScroll() : récupère le ScrollRect et force verticalNormalizedPosition = 1 (100% en haut).

CustomButtonCursorIfNotInterractable — curseur sur bouton désactivé

Par défaut Unity, survoler un bouton désactivé ne change rien. Ce script affiche un curseur personnalisé (ex. un sens interdit) quand la souris passe sur un bouton non cliquable.

ChampDescription
customCursorTexture2D de l’icône de curseur personnalisée
hotSpotPoint de clic précis sur l’image du curseur
MéthodeDescription
OnPointerEnter(...)Si le bouton est désactivé (!button.interactable), appelle Cursor.SetCursor(customCursor...)
OnPointerExit(...)Remet immédiatement le curseur par défaut

MusiqueMenuManager — musique des menus

Placé dans les scènes de menu. S’assure qu’une musique d’ambiance joue, mais sans la relancer depuis le début si on navigue d’un menu à l’autre.

Start() : vérifie si la musique en cours fait partie de SoundDatabase.Instance.menuPlaylist. Si oui, la laisse jouer. Sinon, lance une nouvelle piste aléatoire de la playlist.