Godot 4 · GDScript
Загружаемый контент
Доставляйте данные, которые вы публикуете онлайн (уровни, паки, конфигурации событий), без обновления игры. Вы загружаете контент в панель; игрок получает его автоматически.
Как вы его получаете
Контент, помеченный для автозагрузки, приходит сам вскоре после подключения. Каждый элемент имеет ключ (вы задаёте его в своей панели), и вы получаете его через сигнал content_loaded:
Gamdato.content_loaded.connect(_on_content)
Gamdato.content_sync_complete.connect(_on_content_done)
func _on_content(key: String, data: Variant) -> void:
if key == "levels":
_load_levels(data) # data is whatever you uploaded (Dictionary, Array...)
func _on_content_done(updated: Array, from_cache: Array) -> void:
print("Content ready.")# content_loaded(key: String, data: Variant)
# data is an envelope; your uploaded value lives at data[key]:
{
"schema_version": 1,
"generated_at": "2026-06-07T18:00:00.000Z",
"levels": [ ... ] # your uploaded value, under your content key
}Мгновенное чтение и по запросу
get_cached_content(key) мгновенно читает сохранённую копию. get_game_content(key) запрашивает контент по требованию (тот, что не загружается автоматически).
Загруженный контент хранится на устройстве для офлайн-использования и перезагружается только при публикации новой версии. Не забывайте повышать версию ключа при редактировании контента.
Загрузить всё сразу
get_bootstrap() получает весь автозагружаемый контент в одном ответе, что удобно на экране загрузки. Слушайте bootstrap_loaded.
Gamdato.bootstrap_loaded.connect(_on_bootstrap)
Gamdato.get_bootstrap()
func _on_bootstrap(payload: Dictionary) -> void:
# payload holds every auto-download key at the top level
if payload.has("levels"):
_load_levels(payload["levels"])