:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ResourceFormatSaver.xml. .. _class_ResourceFormatSaver: ResourceFormatSaver =================== **Inherits:** :ref:`RefCounted` **<** :ref:`Object` Saves a specific resource type to a file. .. rst-class:: classref-introduction-group Description ----------- The engine can save resources when you do it from the editor, or when you use the :ref:`ResourceSaver` singleton. This is accomplished thanks to multiple **ResourceFormatSaver**\ s, each handling its own format and called automatically by the engine. By default, Godot saves resources as ``.tres`` (text-based), ``.res`` (binary) or another built-in format, but you can choose to create your own format by extending this class. Be sure to respect the documented return types and values. You should give it a global class name with ``class_name`` for it to be registered. Like built-in ResourceFormatSavers, it will be called automatically when saving resources of its recognized type(s). You may also implement a :ref:`ResourceFormatLoader`. .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`_get_recognized_extensions`\ (\ resource\: :ref:`Resource`\ ) |virtual| |const| | +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_recognize`\ (\ resource\: :ref:`Resource`\ ) |virtual| |const| | +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_recognize_path`\ (\ resource\: :ref:`Resource`, path\: :ref:`String`\ ) |virtual| |const| | +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`_save`\ (\ resource\: :ref:`Resource`, path\: :ref:`String`, flags\: :ref:`int`\ ) |virtual| | +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`_set_uid`\ (\ path\: :ref:`String`, uid\: :ref:`int`\ ) |virtual| | +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_ResourceFormatSaver_private_method__get_recognized_extensions: .. rst-class:: classref-method :ref:`PackedStringArray` **_get_recognized_extensions**\ (\ resource\: :ref:`Resource`\ ) |virtual| |const| :ref:`🔗` Returns the list of extensions available for saving the resource object, provided it is recognized (see :ref:`_recognize()`). .. rst-class:: classref-item-separator ---- .. _class_ResourceFormatSaver_private_method__recognize: .. rst-class:: classref-method :ref:`bool` **_recognize**\ (\ resource\: :ref:`Resource`\ ) |virtual| |const| :ref:`🔗` Returns whether the given resource object can be saved by this saver. .. rst-class:: classref-item-separator ---- .. _class_ResourceFormatSaver_private_method__recognize_path: .. rst-class:: classref-method :ref:`bool` **_recognize_path**\ (\ resource\: :ref:`Resource`, path\: :ref:`String`\ ) |virtual| |const| :ref:`🔗` Returns ``true`` if this saver handles a given save path and ``false`` otherwise. If this method is not implemented, the default behavior returns whether the path's extension is within the ones provided by :ref:`_get_recognized_extensions()`. .. rst-class:: classref-item-separator ---- .. _class_ResourceFormatSaver_private_method__save: .. rst-class:: classref-method :ref:`Error` **_save**\ (\ resource\: :ref:`Resource`, path\: :ref:`String`, flags\: :ref:`int`\ ) |virtual| :ref:`🔗` Saves the given resource object to a file at the target ``path``. ``flags`` is a bitmask composed with :ref:`SaverFlags` constants. Returns :ref:`@GlobalScope.OK` on success, or an :ref:`Error` constant in case of failure. .. rst-class:: classref-item-separator ---- .. _class_ResourceFormatSaver_private_method__set_uid: .. rst-class:: classref-method :ref:`Error` **_set_uid**\ (\ path\: :ref:`String`, uid\: :ref:`int`\ ) |virtual| :ref:`🔗` Sets a new UID for the resource at the given ``path``. Returns :ref:`@GlobalScope.OK` on success, or an :ref:`Error` constant in case of failure. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` .. |void| replace:: :abbr:`void (No return value.)`