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()).