mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
218 lines
13 KiB
ReStructuredText
218 lines
13 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_ResourceSaver:
|
||
|
||
ResourceSaver
|
||
=============
|
||
|
||
**Успадковує:** :ref:`Object<class_Object>`
|
||
|
||
Сінглтон для збереження :ref:`Resource<class_Resource>` у файловій системі.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Опис
|
||
--------
|
||
|
||
Однотон для збереження типів ресурсів до файлової системи.
|
||
|
||
Використовується багато класів :ref:`ResourceFormatSaver<class_ResourceFormatSaver>`, зареєстрованих в двигуні (або вбудованих або з плагіна) для збереження ресурсних даних на основі тексту (наприклад, ``.tres`` або ``.tscn``) або бінарних файлів (наприклад, ``.res`` або ``.scn``.
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методи
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_resource_format_saver<class_ResourceSaver_method_add_resource_format_saver>`\ (\ format_saver\: :ref:`ResourceFormatSaver<class_ResourceFormatSaver>`, at_front\: :ref:`bool<class_bool>` = false\ ) |
|
||
+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_recognized_extensions<class_ResourceSaver_method_get_recognized_extensions>`\ (\ type\: :ref:`Resource<class_Resource>`\ ) |
|
||
+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`get_resource_id_for_path<class_ResourceSaver_method_get_resource_id_for_path>`\ (\ path\: :ref:`String<class_String>`, generate\: :ref:`bool<class_bool>` = false\ ) |
|
||
+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_resource_format_saver<class_ResourceSaver_method_remove_resource_format_saver>`\ (\ format_saver\: :ref:`ResourceFormatSaver<class_ResourceFormatSaver>`\ ) |
|
||
+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`save<class_ResourceSaver_method_save>`\ (\ resource\: :ref:`Resource<class_Resource>`, path\: :ref:`String<class_String>` = "", flags\: |bitfield|\[:ref:`SaverFlags<enum_ResourceSaver_SaverFlags>`\] = 0\ ) |
|
||
+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`set_uid<class_ResourceSaver_method_set_uid>`\ (\ resource\: :ref:`String<class_String>`, uid\: :ref:`int<class_int>`\ ) |
|
||
+---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Переліки
|
||
----------------
|
||
|
||
.. _enum_ResourceSaver_SaverFlags:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
flags **SaverFlags**: :ref:`🔗<enum_ResourceSaver_SaverFlags>`
|
||
|
||
.. _class_ResourceSaver_constant_FLAG_NONE:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SaverFlags<enum_ResourceSaver_SaverFlags>` **FLAG_NONE** = ``0``
|
||
|
||
Немає можливості збереження ресурсів.
|
||
|
||
.. _class_ResourceSaver_constant_FLAG_RELATIVE_PATHS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SaverFlags<enum_ResourceSaver_SaverFlags>` **FLAG_RELATIVE_PATHS** = ``1``
|
||
|
||
Заощаджуйте ресурс з доріжкою відносно сцени, яка її використовує.
|
||
|
||
.. _class_ResourceSaver_constant_FLAG_BUNDLE_RESOURCES:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SaverFlags<enum_ResourceSaver_SaverFlags>` **FLAG_BUNDLE_RESOURCES** = ``2``
|
||
|
||
Bundles зовнішні ресурси.
|
||
|
||
.. _class_ResourceSaver_constant_FLAG_CHANGE_PATH:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SaverFlags<enum_ResourceSaver_SaverFlags>` **FLAG_CHANGE_PATH** = ``4``
|
||
|
||
Змінює :ref:`Resource.resource_path<class_Resource_property_resource_path>` збереженого ресурсу відповідно до його нового розташування.
|
||
|
||
.. _class_ResourceSaver_constant_FLAG_OMIT_EDITOR_PROPERTIES:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SaverFlags<enum_ResourceSaver_SaverFlags>` **FLAG_OMIT_EDITOR_PROPERTIES** = ``8``
|
||
|
||
Не зберігайте метадані редактора (ідентифіковані їх ``__editor``.
|
||
|
||
.. _class_ResourceSaver_constant_FLAG_SAVE_BIG_ENDIAN:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SaverFlags<enum_ResourceSaver_SaverFlags>` **FLAG_SAVE_BIG_ENDIAN** = ``16``
|
||
|
||
Зберегти у форматі big endian (див. :ref:`FileAccess.big_endian<class_FileAccess_property_big_endian>`).
|
||
|
||
.. _class_ResourceSaver_constant_FLAG_COMPRESS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SaverFlags<enum_ResourceSaver_SaverFlags>` **FLAG_COMPRESS** = ``32``
|
||
|
||
Стискайте ресурс на збереження за допомогою :ref:`FileAccess. КОМПРЕСІЯ_ZSTD<class_FileAccess_constant_ КОМПРЕСІЯ_ZSTD>`. Тільки доступні для бінарних типів ресурсів.
|
||
|
||
.. _class_ResourceSaver_constant_FLAG_REPLACE_SUBRESOURCE_PATHS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`SaverFlags<enum_ResourceSaver_SaverFlags>` **FLAG_REPLACE_SUBRESOURCE_PATHS** = ``64``
|
||
|
||
Захопити шляхи збережених підресурсів (див. :ref:`Resource.take_over_path()<class_Resource_method_take_over_path>`).
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описи методів
|
||
--------------------------
|
||
|
||
.. _class_ResourceSaver_method_add_resource_format_saver:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_resource_format_saver**\ (\ format_saver\: :ref:`ResourceFormatSaver<class_ResourceFormatSaver>`, at_front\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_ResourceSaver_method_add_resource_format_saver>`
|
||
|
||
Статус на сервери ResourceSaver буде використовувати ResourceFormatSaver як описано в :ref:`save()<class_ResourceSaver_method_save>`.
|
||
|
||
Цей метод виконується непомітно для ResourceFormatSavers, написаних в GDScript (див. :ref:`ResourceFormatSaver<class_ResourceFormatSaver>` для отримання додаткової інформації).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_ResourceSaver_method_get_recognized_extensions:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PackedStringArray<class_PackedStringArray>` **get_recognized_extensions**\ (\ type\: :ref:`Resource<class_Resource>`\ ) :ref:`🔗<class_ResourceSaver_method_get_recognized_extensions>`
|
||
|
||
Повертає перелік розширень, доступних для збереження ресурсу даного типу.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_ResourceSaver_method_get_resource_id_for_path:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **get_resource_id_for_path**\ (\ path\: :ref:`String<class_String>`, generate\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_ResourceSaver_method_get_resource_id_for_path>`
|
||
|
||
Повертає ідентифікатор ресурсу для вказаного шляху. Якщо ``generate`` має значення ``true``, буде згенеровано новий ідентифікатор ресурсу, якщо ідентифікатор шляху не знайдено. Якщо ``generate`` має значення ``false`` і шлях не знайдено, повертається :ref:`ResourceUID.INVALID_ID<class_ResourceUID_constant_INVALID_ID>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_ResourceSaver_method_remove_resource_format_saver:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_resource_format_saver**\ (\ format_saver\: :ref:`ResourceFormatSaver<class_ResourceFormatSaver>`\ ) :ref:`🔗<class_ResourceSaver_method_remove_resource_format_saver>`
|
||
|
||
Незареєстровані дані :ref:`ResourceFormatSaver<class_ResourceFormatSaver>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_ResourceSaver_method_save:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Error<enum_@GlobalScope_Error>` **save**\ (\ resource\: :ref:`Resource<class_Resource>`, path\: :ref:`String<class_String>` = "", flags\: |bitfield|\[:ref:`SaverFlags<enum_ResourceSaver_SaverFlags>`\] = 0\ ) :ref:`🔗<class_ResourceSaver_method_save>`
|
||
|
||
Зберігає ресурс на диску за заданим шляхом, використовуючи :ref:`ResourceFormatSaver<class_ResourceFormatSaver>`, який розпізнає об'єкт ресурсу. Якщо ``path`` порожній, **ResourceSaver** спробує використати :ref:`Resource.resource_path<class_Resource_property_resource_path>`.
|
||
|
||
Бітову маску ``flags`` можна вказати для налаштування поведінки збереження.
|
||
|
||
Повертає :ref:`@GlobalScope.OK<class_@GlobalScope_constant_OK>` у разі успіху.
|
||
|
||
\ **Примітка:** Під час роботи проекту будь-який згенерований UID, пов'язаний з ресурсом, не буде збережено, оскільки необхідний код виконується лише в режимі редактора.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_ResourceSaver_method_set_uid:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Error<enum_@GlobalScope_Error>` **set_uid**\ (\ resource\: :ref:`String<class_String>`, uid\: :ref:`int<class_int>`\ ) :ref:`🔗<class_ResourceSaver_method_set_uid>`
|
||
|
||
Встановлює UID заданого шляху ``resource`` на ``uid``. Ви можете згенерувати новий UID за допомогою методу :ref:`ResourceUID.create_id()<class_ResourceUID_method_create_id>`.
|
||
|
||
Оскільки ресурси зазвичай отримують UID автоматично, цей метод корисний лише у дуже специфічних випадках.
|
||
|
||
.. |virtual| replace:: :abbr:`virtual (Зазвичай, цей метод перевизначається користувачем, щоб він мав вплив.)`
|
||
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
||
.. |const| replace:: :abbr:`const (Цей метод не має побічних ефектів. Не змінює ніяку змінну екземпляра об'єкта.)`
|
||
.. |vararg| replace:: :abbr:`vararg (Цей метод приймає будь-яке число аргументів після описаних тут.)`
|
||
.. |constructor| replace:: :abbr:`constructor (Цей метод використовується для побудови типів.)`
|
||
.. |static| replace:: :abbr:`static (Цей метод не потребує екземпляра для виклику, його можна викликати безпосередньо за допомогою назви класу.)`
|
||
.. |operator| replace:: :abbr:`operator (Цей метод описує дійсний оператор для взаємодії з цим типом як з лівим операндом.)`
|
||
.. |bitfield| replace:: :abbr:`BitField (Це значення є цілим числом, складеним у вигляді бітової маски з наступних прапорів.)`
|
||
.. |void| replace:: :abbr:`void (Значення не повертається.)`
|