Images aléatoires par niveau
RandomImageLoader (Singleton chargeant des Sprites par pallier de batterie) et RandomImageSetter (composant plug & play qui s'applique une image au OnEnable).
Le dossier UserInterface/RandomImageForMenu/ gère les images de récompense liées au niveau de la batterie de VO2.
RandomImageLoader — fournisseur d’images
Singleton chargé une seule fois au démarrage. Stocke toutes les images par pallier de batterie et les distribue à la demande.
| Variable | Description |
|---|---|
_imagesBattery0 à _imagesBattery4 | Tableaux de Sprite[] — un par pallier (0 = vide, 4 = plein) |
| Méthode | Description |
|---|---|
Awake() | Initialise le Singleton et appelle immédiatement LoadRandomImages() |
LoadRandomImages() | Utilise Resources.LoadAll<Sprite>("chemin") pour remplir automatiquement les tableaux depuis les dossiers Unity |
GetRandomImage(int batteryLevel) | Sélectionne le tableau correspondant au niveau (ex. _imagesBattery2), renvoie un Sprite aléatoire |
RandomImageSetter — client plug & play
À attacher sur n’importe quel GameObject UI ayant un composant Image. Dès que l’objet apparaît à l’écran, il interroge la batterie et s’applique une image automatiquement.
[RequireComponent(typeof(Image))] force Unity à ajouter un composant Image si absent, évitant une NullReferenceException.
OnEnable() : récupère le composant Image, lit le niveau via BatterySystemCore.GetBatteryLevel(), demande l’image au Loader et remplace le .sprite.