:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/3.6/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/3.6/doc/classes/ResourceFormatSaver.xml. .. _class_ResourceFormatSaver: ResourceFormatSaver =================== **Inherits:** :ref:`Reference` **<** :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:`PoolStringArray` | :ref:`get_recognized_extensions` **(** :ref:`Resource` resource **)** |virtual| | +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`recognize` **(** :ref:`Resource` resource **)** |virtual| | +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`save` **(** :ref:`String` path, :ref:`Resource` resource, :ref:`int` flags **)** |virtual| | +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_ResourceFormatSaver_method_get_recognized_extensions: .. rst-class:: classref-method :ref:`PoolStringArray` **get_recognized_extensions** **(** :ref:`Resource` resource **)** |virtual| 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_method_recognize: .. rst-class:: classref-method :ref:`bool` **recognize** **(** :ref:`Resource` resource **)** |virtual| Returns whether the given resource object can be saved by this saver. .. rst-class:: classref-item-separator ---- .. _class_ResourceFormatSaver_method_save: .. rst-class:: classref-method :ref:`int` **save** **(** :ref:`String` path, :ref:`Resource` resource, :ref:`int` flags **)** |virtual| 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. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |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.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`