Accueil Github ↗
Itération 3

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é PlayFabVariable cibleTypeDescription
"Name"PlayerData.PlayerNamestringNom de famille
"Firstname"PlayerData.PlayerFirstNamestringPrénom
"ProfileType"PlayerData.ProfilTypestring"Eleve" ou "Professeur"
"IsDevMode"PlayerData.IsDevModeboolAccès développeur
"CodeParticipant"PlayerData.CodeParticipantstringCode recherche FRQ
"LastLoginDate"PlayerData.LastLoginDatestringDate dernière connexion
"TodayAPL"PlayerData.TodayAPLintSecondes d’APL du jour
"TodayAPMV"PlayerData.TodayAPMVintSecondes d’APMV du jour
"Personnalisation"PlayerData.PersonnalisationstringJSON cosmétiques équipés
"Boutique"PlayerData.BoutiqueDatastringJSON items achetés

Données élève uniquement

Clé PlayFabVariable cibleDescription
"DB"PlayerData.PlayerDBSolde de Dynamo-Blocs
"DBFromClass"PlayerData.DBFromClassDB gagnés en classe
"CodeProfesseur"PlayerData.ProfesseurIDID PlayFab de l’enseignant (pour récupérer ses données publiques)

Données professeur uniquement

Clé PlayFabVariable cibleDescription
"Students"PlayerData.StudentListJSON StudentsData (liste des élèves de la classe)

Méthodes

MéthodeAppelée parDescription
LoadPlayerGeneralData(onComplete)LogIn.OnSuccessCharge les données communes à tous les profils
LoadStudentData(onComplete)Après LoadPlayerGeneralData si élèveCharge DB, DBFromClass, CodeProfesseur
LoadTeacherData(onComplete)Après LoadPlayerGeneralData si profCharge la liste des élèves
LoadPublicPlayerData(profId, onComplete)Après LoadStudentDataLit les données publiques de l’enseignant (DBProf)
UpdatePlayerData(onComplete)Après le chargement du profilRemet à 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.