Files
godot-docs-l10n/classes/uk/class_resourcesaver.rst

218 lines
13 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

: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 (Значення не повертається.)`