Constantes et clés de sauvegarde
Valeurs globales immuables (Constante.cs), échelle d'effort physique (APTypeEnum) et clés PlayerPrefs centralisées (PlayerPrefsReferencer).
Le dossier Commons/Constantes/ regroupe trois fichiers qui éliminent les “magic strings” et “magic numbers” du projet.
Constante.cs — valeurs globales
Classe statique avec des valeurs immuables. Si une valeur change (ex. l’objectif quotidien passe de 10 à 15 min), il suffit de modifier un seul chiffre ici.
| Variable | Valeur | Description |
|---|---|---|
DateFormat | "yyyy-MM-dd HH:mm:ss" | Format de date utilisé partout (Google Sheets, dernière connexion) |
APDailyGoalSeconds | 600 | Objectif quotidien d’activité physique en secondes (10 min). Utilisé par le système de batterie. |
LevelNumber | 4 | Nombre d’étapes visuelles sur la jauge de batterie |
PathParameters... | "Prefabs/..." | Chemins d’accès officiels pour instancier les menus depuis Resources/ |
APTypeEnum.cs — échelle d’effort
Énumération qui catégorise l’intensité des mouvements physiques.
| Valeur | Signification |
|---|---|
APL | Activité Physique Légère (étirements, marche sur place) — temps de récupération |
APMV | Activité Physique Modérée à Vigoureuse (jumping jacks, course) — temps d’effort |
PlayerPrefsReferencer.cs — dictionnaire de sauvegarde
Unity sauvegarde avec des clés textuelles (PlayerPrefs.GetInt("monArgent")). Une faute de frappe suffit pour perdre une donnée. Ce fichier centralise toutes les clés sous forme de constantes.
Catégories de clés
- DB (Dynamo-Blocs) :
ActivityDB,DailyDB,GlobalDB… pour savoir d’où vient l’argent gagné - AP (Activité Physique) :
DailyAPTime,SessionAplTime,GameApmv… pour séparer les temps d’effort par session, par jour et par intensité - Audio / Paramètres : actuellement commentés (volume, qualité)
Méthodes utilitaires
Ces wrappers évitent que d’autres scripts manipulent PlayerPrefs directement.
| Méthode | Description |
|---|---|
GetIsConnected() | Vérifie rapidement si l’utilisateur est connecté (clé = 1) |
IsGoalAchieved() | Vérifie si la batterie de 10 min a été remplie aujourd’hui |
IncrementNumberOfDailyGoal() | Augmente le compteur de séries et verrouille l’objectif du jour comme “Accompli” |
SetGameStartDateTime() | Enregistre l’heure exacte de début d’une activité (format Constante.DateFormat) pour les statistiques Google Sheets |