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
Deprecato: Use @GlobalScope.var_to_bytes() or FileAccess.store_var() instead. To enable data compression, use PackedByteArray.compress() or FileAccess.open_compressed().
Eredita: Resource < RefCounted < Object
Comprime e serializza in modo efficiente Array o Dictionary.
Descrizione
PackedDataContainer può essere utilizzato per memorizzare in modo efficiente i dati da contenitori non tipizzati. I dati sono compressi in byte grezzi e possono essere salvati su file. Solo Array e Dictionary possono essere memorizzati in questo modo.
È possibile recuperare i dati iterando sul contenitore, che funzionerà come se si iterasse sui dati compressi stessi. Se il contenitore compresso è un Dictionary, è possibile recuperare i dati tramite i nomi delle chiavi (solo String/StringName).
var data = { "key": "value", "another_key": 123, "lock": Vector2() }
var packed = PackedDataContainer.new()
packed.pack(data)
ResourceSaver.save(packed, "packed_data.res")
var container = load("packed_data.res")
for key in container:
prints(key, container[key])
Stampa:
key value
lock (0, 0)
another_key 123
I contenitori innestati saranno impacchettati ricorsivamente. Durante un iterazione, saranno restituiti come PackedDataContainerRef.
Metodi
size() const |
Descrizioni dei metodi
Comprime il contenitore specificato in una rappresentazione binaria. value deve essere Array o Dictionary, qualsiasi altro tipo genererà un errore di dati non validi.
Nota: Ulteriori chiamate a questo metodo sovrascriveranno i dati esistenti.
Restituisce la dimensione del contenitore compresso (vedi Array.size() e Dictionary.size()).