Accueil Github ↗
Itération 3

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.

VariableValeurDescription
DateFormat"yyyy-MM-dd HH:mm:ss"Format de date utilisé partout (Google Sheets, dernière connexion)
APDailyGoalSeconds600Objectif quotidien d’activité physique en secondes (10 min). Utilisé par le système de batterie.
LevelNumber4Nombre 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.

ValeurSignification
APLActivité Physique Légère (étirements, marche sur place) — temps de récupération
APMVActivité 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éthodeDescription
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