Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
PackedDataContainer
Obsolète : Use @GlobalScope.var_to_bytes() or FileAccess.store_var() instead. To enable data compression, use PackedByteArray.compress() or FileAccess.open_compressed().
Hérite de : Resource < RefCounted < Object
Compacte et sérialise efficacement les Array ou Dictionary.
Description
PackedDataContainer peut être utilisé pour stocker efficacement des données à partir de conteneurs non-typés. Les données sont compactées en octets bruts et peuvent être sauvegardées dans un fichier. Seuls Array et Dictionary peuvent être stockés de cette façon.
Vous pouvez récupérer les données en itérant sur le conteneur, qui fonctionnera comme s'il itérait sur les données compactées elles-même. Si le conteneur compacté est un Dictionary, les données peuvent être récupérées par des noms de clés (String/StringName seulement).
var donnees = { "cle": "valeur", "autre_cle": 123, "verrou": Vector2() }
var compact = PackedDataContainer.new()
compact.pack(donnees)
ResourceSaver.save(compact, "donnees_compactes.res")
var conteneur = load("donnees_compactes.res")
for cle in conteneur:
print(cle, conteneur[cle])
Affiche :
cle valeur
verrou (0, 0)
autre_cle 123
Les conteneurs imbriqués seront compactés de façon récursive. Lors de l'itération, ils seront renvoyés en tant que PackedDataContainerRef.
Méthodes
size() const |
Descriptions des méthodes
Compacte le conteneur donné en une représentation binaire. La valeur value doit être soit un Array ou un Dictionary, tout autre type entraînera une erreur de données invalides.
Note : Les appels subséquents à cette méthode écraseront les données existantes.
Renvoie la taille du conteneur compacté (voir Array.size() et Dictionary.size()).