Paramètres du jeu
SettingsManager : gestion centralisée de la pause, du son et de la qualité graphique via un système d'événements.
Le dossier Commons/Settings/ gère les réglages globaux via un système d’événements.
SettingsManager — centre de contrôle
Classe statique sans aspect visuel. Elle détient la vérité sur trois états majeurs du jeu : le temps (pause), l’audio (mute) et les graphismes (qualité). Quand un état change, un événement est émis et tout le jeu s’adapte.
| Pilier | Mécanique | Événement |
|---|---|---|
| Pause | Time.timeScale = 0 pour geler le moteur physique (1 pour reprendre) | OnGamePaused / OnGamePausedWithSettingsPanel |
| Silence | Booléen _isMusicMuted (l’AudioManager écoute cet événement pour couper le son) | OnMusicMuted |
| Qualité | QualitySettings.SetQualityLevel(value) + sauvegarde dans PlayerPrefs | OnQualityChanged |
Boutons d’interface
Ces quatre scripts s’attachent à des boutons UI. Ils écoutent les clics pour commander le SettingsManager et s’abonnent à ses événements pour mettre à jour leur propre image.
| Script | Rôle |
|---|---|
ButtonPauseBehavior | Bouton Play/Pause. Appelle SwitchPause() au clic. Passe automatiquement sur l’icône “Play” quand le jeu se met en pause. |
ButtonMuteBehavior | Bouton haut-parleur. Appelle SwitchMuteMusic() au clic. Barre ou débare son icône selon l’état du mute. |
ButtonSettingsBehavior | Engrenage. Émet OnButtonSettingsClicked au clic. |
ButtonHomeBehavior | Retour au menu. Force SettingsManager.PauseGame(false) avant de charger le menu principal — sécurité pour éviter de revenir avec timeScale = 0. |
Application graphique
| Script | Rôle |
|---|---|
DisableCloudsWithLowQuality | À attacher dans la scène 3D (ex. sur la Skybox). S’abonne à SettingsManager.OnQualityChanged. Si la qualité est à 0 (la plus basse), désactive le GameObject des nuages. |