Accueil Github ↗
Itération 3

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.

PilierMécaniqueÉvénement
PauseTime.timeScale = 0 pour geler le moteur physique (1 pour reprendre)OnGamePaused / OnGamePausedWithSettingsPanel
SilenceBooléen _isMusicMuted (l’AudioManager écoute cet événement pour couper le son)OnMusicMuted
QualitéQualitySettings.SetQualityLevel(value) + sauvegarde dans PlayerPrefsOnQualityChanged

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.

ScriptRôle
ButtonPauseBehaviorBouton Play/Pause. Appelle SwitchPause() au clic. Passe automatiquement sur l’icône “Play” quand le jeu se met en pause.
ButtonMuteBehaviorBouton haut-parleur. Appelle SwitchMuteMusic() au clic. Barre ou débare son icône selon l’état du mute.
ButtonSettingsBehaviorEngrenage. Émet OnButtonSettingsClicked au clic.
ButtonHomeBehaviorRetour au menu. Force SettingsManager.PauseGame(false) avant de charger le menu principal — sécurité pour éviter de revenir avec timeScale = 0.

Application graphique

ScriptRô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.