Accueil Github ↗
Itération 3

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.

VariableDescription
_imagesBattery0 à _imagesBattery4Tableaux de Sprite[] — un par pallier (0 = vide, 4 = plein)
MéthodeDescription
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.