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...
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 автоматически, этот метод полезен только в очень особых случаях.