ResourceSaver

Успадковує: Object

Сінглтон для збереження Resource у файловій системі.

Опис

Однотон для збереження типів ресурсів до файлової системи.

Використовується багато класів ResourceFormatSaver, зареєстрованих в двигуні (або вбудованих або з плагіна) для збереження ресурсних даних на основі тексту (наприклад, .tres або .tscn) або бінарних файлів (наприклад, .res або .scn.

Методи

void

add_resource_format_saver(format_saver: ResourceFormatSaver, at_front: bool = false)

PackedStringArray

get_recognized_extensions(type: Resource)

int

get_resource_id_for_path(path: String, generate: bool = false)

void

remove_resource_format_saver(format_saver: ResourceFormatSaver)

Error

save(resource: Resource, path: String = "", flags: BitField[SaverFlags] = 0)

Error

set_uid(resource: String, uid: int)


Переліки

flags SaverFlags: 🔗

SaverFlags FLAG_NONE = 0

Немає можливості збереження ресурсів.

SaverFlags FLAG_RELATIVE_PATHS = 1

Заощаджуйте ресурс з доріжкою відносно сцени, яка її використовує.

SaverFlags FLAG_BUNDLE_RESOURCES = 2

Bundles зовнішні ресурси.

SaverFlags FLAG_CHANGE_PATH = 4

Змінює Resource.resource_path збереженого ресурсу відповідно до його нового розташування.

SaverFlags FLAG_OMIT_EDITOR_PROPERTIES = 8

Не зберігайте метадані редактора (ідентифіковані їх __editor.

SaverFlags FLAG_SAVE_BIG_ENDIAN = 16

Зберегти у форматі big endian (див. FileAccess.big_endian).

SaverFlags FLAG_COMPRESS = 32

Стискайте ресурс на збереження за допомогою FileAccess. КОМПРЕСІЯ_ZSTD. Тільки доступні для бінарних типів ресурсів.

SaverFlags FLAG_REPLACE_SUBRESOURCE_PATHS = 64

Захопити шляхи збережених підресурсів (див. Resource.take_over_path()).


Описи методів

void add_resource_format_saver(format_saver: ResourceFormatSaver, at_front: bool = false) 🔗

Статус на сервери ResourceSaver буде використовувати ResourceFormatSaver як описано в save().

Цей метод виконується непомітно для ResourceFormatSavers, написаних в GDScript (див. ResourceFormatSaver для отримання додаткової інформації).


PackedStringArray get_recognized_extensions(type: Resource) 🔗

Повертає перелік розширень, доступних для збереження ресурсу даного типу.


int get_resource_id_for_path(path: String, generate: bool = false) 🔗

Повертає ідентифікатор ресурсу для вказаного шляху. Якщо generate має значення true, буде згенеровано новий ідентифікатор ресурсу, якщо ідентифікатор шляху не знайдено. Якщо generate має значення false і шлях не знайдено, повертається ResourceUID.INVALID_ID.


void remove_resource_format_saver(format_saver: ResourceFormatSaver) 🔗

Незареєстровані дані ResourceFormatSaver.


Error save(resource: Resource, path: String = "", flags: BitField[SaverFlags] = 0) 🔗

Зберігає ресурс на диску за заданим шляхом, використовуючи ResourceFormatSaver, який розпізнає об'єкт ресурсу. Якщо path порожній, ResourceSaver спробує використати Resource.resource_path.

Бітову маску flags можна вказати для налаштування поведінки збереження.

Повертає @GlobalScope.OK у разі успіху.

Примітка: Під час роботи проекту будь-який згенерований UID, пов'язаний з ресурсом, не буде збережено, оскільки необхідний код виконується лише в режимі редактора.


Error set_uid(resource: String, uid: int) 🔗

Встановлює UID заданого шляху resource на uid. Ви можете згенерувати новий UID за допомогою методу ResourceUID.create_id().

Оскільки ресурси зазвичай отримують UID автоматично, цей метод корисний лише у дуже специфічних випадках.