Cette fonction est normalement appelée au début d'une nouvelle partie et est utilisée pour récupérer l'état actuel du service cloud au démarrage du jeu. La fonction renvoie une valeur d' identifiant unique qui sera ensuite utilisée dans l' événement Cloud asynchrone pour extraire les informations pertinentes de la carte ds_map créée.
Cette fonction enverra au nuage des données, qui déclencheront alors l'événement asynchrone approprié. Dans ce cas, vous pouvez vérifier le retour async_load ds_map pour les valeurs suivantes:
- "status": Ceci contient le code d'état, où une valeur négative indique une erreur, dont une description sera contenue dans "errorString". Une valeur de 0 (ou une valeur positive) indique un succès (voir ci-dessous pour les valeurs exactes), et la chaîne "resultString" contiendra les données renvoyées ou un message de réussite.
- "id": L'identifiant qui a été renvoyé par la fonction appelée. Si vous déclenchez une série de cloud_ demandes, vous devez alors savoir à laquelle vous obtenez la réponse, et ainsi vous utiliseriez cette valeur pour comparer à la valeur que vous avez stockée lorsque vous avez envoyé la demande pour trouver la bonne.
- "description": La description du dernier fichier téléchargé.
- "resultString": Ceci contient une chaîne qui est le blob de données renvoyé du nuage.
- "errorString": renvoie une chaîne d'erreur pour toute erreur.
La signification exacte de l'entrée de la carte "status" retournée est expliquée dans le tableau suivant:
Valeur du statut errorString / resultString La description -1 errorString = "Non connecté à <SERVICE>" You have not successfully logged in to the given Cloud Service 0 resultString = données récupérées New game data downloaded from the cloud (following a cloud_synchronise call) 1 resultString = "AlreadySynchronized" No new data since you last called cloud_synchronise 2 resultString = "ConflictDeferral" A conflict was encountered, but the gamer chose to ignore it 3 resultString = "GameUploadSuccess" data from cloud_string_save or cloud_file_save was successfully uploaded to the cloud -n errorString = Description de l'erreur Any other negative number means a synchronisation failure
cloud_synchronise();
Real
Cette fonction est appelée dans un événement tel que Game Start Event ou dans un objet placé dans la première pièce de votre jeu, dans l'idée que vous vérifiiez le blob de données en cours à partir du serveur cloud pour voir si date ou non.
cloud_check = cloud_synchronise();
Vous voudrez alors vérifier le retour ds_map dans l' événement Cloud asynchrone pour obtenir le statut et la chaîne retournée, s'il y en a une, avec quelque chose comme le code suivant:
if ds_map_find_value(async_load, "id") ==
cloud_check
{
if ds_map_find_value(async_load, "status") <
0
{
show_message_async("Cloud
Services not available. Please check connectivity.");
}
else
{
if
ds_map_find_value(async_load, "status") == 0
{
var file =
file_text_open_write("Save.txt");
file_text_write_string(file,
ds_map_find_value(async_load, "resultString"));
file_text_close(file);
}
}
}
Le code ci-dessus vérifie que l'appel de fonction asynchrone correct est en cours de révision, puis continue pour obtenir l'état du nuage renvoyé ds_map. Si le statut est un nombre négatif, quelque chose s'est mal passé et l'utilisateur est informé, sinon le code continuera et récupérera les données synchronisées et les écrira dans un fichier texte pour une utilisation ultérieure.