Données joueur (PlayFab)
PlayerDataManager : requêtes PlayFab GetUserData, clés par profil et UpdatePlayerData pour la remise à zéro quotidienne.
PlayerDataManager est une classe statique qui orchestre toutes les requêtes PlayFabClientAPI.GetUserData. Elle peuple PlayerData (le cache mémoire local) en lisant les clés PlayFab correspondantes.
Toutes les méthodes prennent un callback System.Action onComplete invoqué à la fin de la requête, même en cas d’erreur, pour que le flux de login ne se bloque jamais.
Clés PlayFab par profil
Données générales (tous les profils)
| Clé PlayFab | Variable cible | Type | Description |
|---|---|---|---|
"Name" | PlayerData.PlayerName | string | Nom de famille |
"Firstname" | PlayerData.PlayerFirstName | string | Prénom |
"ProfileType" | PlayerData.ProfilType | string | "Eleve" ou "Professeur" |
"IsDevMode" | PlayerData.IsDevMode | bool | Accès développeur |
"CodeParticipant" | PlayerData.CodeParticipant | string | Code recherche FRQ |
"LastLoginDate" | PlayerData.LastLoginDate | string | Date dernière connexion |
"TodayAPL" | PlayerData.TodayAPL | int | Secondes d’APL du jour |
"TodayAPMV" | PlayerData.TodayAPMV | int | Secondes d’APMV du jour |
"Personnalisation" | PlayerData.Personnalisation | string | JSON cosmétiques équipés |
"Boutique" | PlayerData.BoutiqueData | string | JSON items achetés |
Données élève uniquement
| Clé PlayFab | Variable cible | Description |
|---|---|---|
"DB" | PlayerData.PlayerDB | Solde de Dynamo-Blocs |
"DBFromClass" | PlayerData.DBFromClass | DB gagnés en classe |
"CodeProfesseur" | PlayerData.ProfesseurID | ID PlayFab de l’enseignant (pour récupérer ses données publiques) |
Données professeur uniquement
| Clé PlayFab | Variable cible | Description |
|---|---|---|
"Students" | PlayerData.StudentList | JSON StudentsData (liste des élèves de la classe) |
Méthodes
| Méthode | Appelée par | Description |
|---|---|---|
LoadPlayerGeneralData(onComplete) | LogIn.OnSuccess | Charge les données communes à tous les profils |
LoadStudentData(onComplete) | Après LoadPlayerGeneralData si élève | Charge DB, DBFromClass, CodeProfesseur |
LoadTeacherData(onComplete) | Après LoadPlayerGeneralData si prof | Charge la liste des élèves |
LoadPublicPlayerData(profId, onComplete) | Après LoadStudentData | Lit les données publiques de l’enseignant (DBProf) |
UpdatePlayerData(onComplete) | Après le chargement du profil | Remet à zéro TodayAPL/APMV si nouvelle journée (DateChecker) |
UpdatePlayerData — remise à zéro quotidienne
UpdatePlayerData appelle DateChecker.CheckDate(PlayerData.LastLoginDate). Si la dernière connexion est antérieure au jour courant, les compteurs TodayAPL et TodayAPMV sont remis à 0 dans PlayFab et en mémoire, et LastLoginDate est mise à jour. C’est ce mécanisme qui assure que la batterie d’AP recommence chaque matin.