ResourceSaver
Наследует: Object
Синглтон для сохранения Resource-ов в файловой системе.
Описание
Синглтон для сохранения типов ресурсов в файловой системе.
Он использует множество классов ResourceFormatSaver, зарегистрированных в движке (встроенных или из плагина), для сохранения данных ресурсов в текстовых (например, .tres или .tscn) или двоичных файлах (например, .res или .scn).
Методы
void |
add_resource_format_saver(format_saver: ResourceFormatSaver, at_front: bool = false) |
get_resource_id_for_path(path: String, generate: bool = false) |
|
void |
remove_resource_format_saver(format_saver: ResourceFormatSaver) |
save(resource: Resource, path: String = "", flags: BitField[SaverFlags] = 0) |
|
Перечисления
flags SaverFlags: 🔗
SaverFlags FLAG_NONE = 0
Нет возможности экономии ресурсов.
SaverFlags FLAG_RELATIVE_PATHS = 1
Сохраните ресурс с путем относительно сцены, которая его использует.
SaverFlags FLAG_BUNDLE_RESOURCES = 2
Пакеты внешних ресурсов.
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.COMPRESSION_ZSTD. Доступно только для двоичных типов ресурсов.
SaverFlags FLAG_REPLACE_SUBRESOURCE_PATHS = 64
Перенять пути сохраненных подресурсов (см. Resource.take_over_path()).
Описания метода
void add_resource_format_saver(format_saver: ResourceFormatSaver, at_front: bool = false) 🔗
Регистрирует новый ResourceFormatSaver. 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 автоматически, этот метод полезен только в очень особых случаях.