2017-09-13 04:42:36 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 16:08:05 +08:00
<class name= "ResourceSaver" inherits= "Object" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2017-09-13 04:42:36 +08:00
<brief_description >
2023-04-28 07:35:33 +08:00
A singleton for saving [Resource]s to the filesystem.
2017-09-13 04:42:36 +08:00
</brief_description>
<description >
2023-04-28 07:35:33 +08:00
A singleton for saving resource types to the filesystem.
It uses the many [ResourceFormatSaver] classes registered in the engine (either built-in or from a plugin) to save resource data to text-based (e.g. [code].tres[/code] or [code].tscn[/code]) or binary files (e.g. [code].res[/code] or [code].scn[/code]).
2017-09-13 04:42:36 +08:00
</description>
<tutorials >
</tutorials>
<methods >
2022-05-15 21:42:27 +08:00
<method name= "add_resource_format_saver" >
<return type= "void" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "format_saver" type= "ResourceFormatSaver" />
<param index= "1" name= "at_front" type= "bool" default= "false" />
2022-05-15 21:42:27 +08:00
<description >
Registers a new [ResourceFormatSaver]. The ResourceSaver will use the ResourceFormatSaver as described in [method save].
2022-07-21 19:37:00 +08:00
This method is performed implicitly for ResourceFormatSavers written in GDScript (see [ResourceFormatSaver] for more information).
2022-05-15 21:42:27 +08:00
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "get_recognized_extensions" >
2021-07-30 21:28:05 +08:00
<return type= "PackedStringArray" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "type" type= "Resource" />
2017-09-13 04:42:36 +08:00
<description >
2018-09-02 02:07:51 +08:00
Returns the list of extensions available for saving a resource of a given type.
2017-09-13 04:42:36 +08:00
</description>
</method>
2022-05-15 21:42:27 +08:00
<method name= "remove_resource_format_saver" >
<return type= "void" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "format_saver" type= "ResourceFormatSaver" />
2022-05-15 21:42:27 +08:00
<description >
Unregisters the given [ResourceFormatSaver].
</description>
</method>
2017-09-13 04:42:36 +08:00
<method name= "save" >
2021-07-30 21:28:05 +08:00
<return type= "int" enum= "Error" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "resource" type= "Resource" />
<param index= "1" name= "path" type= "String" default= """" />
2023-06-15 22:06:22 +08:00
<param index= "2" name= "flags" type= "int" enum= "ResourceSaver.SaverFlags" is_bitfield= "true" default= "0" />
2017-09-13 04:42:36 +08:00
<description >
2022-08-10 10:00:19 +08:00
Saves a resource to disk to the given path, using a [ResourceFormatSaver] that recognizes the resource object. If [param path] is empty, [ResourceSaver] will try to use [member Resource.resource_path].
The [param flags] bitmask can be specified to customize the save behavior using [enum SaverFlags] flags.
2019-06-27 19:24:03 +08:00
Returns [constant OK] on success.
2023-10-15 20:59:01 +08:00
[b]Note:[/b] When the project is running, any generated UID associated with the resource will not be saved as the required code is only executed in editor mode.
2017-09-13 04:42:36 +08:00
</description>
</method>
</methods>
<constants >
2022-06-24 17:16:37 +08:00
<constant name= "FLAG_NONE" value= "0" enum= "SaverFlags" is_bitfield= "true" >
2022-02-11 03:11:40 +08:00
No resource saving option.
</constant>
2022-06-24 17:16:37 +08:00
<constant name= "FLAG_RELATIVE_PATHS" value= "1" enum= "SaverFlags" is_bitfield= "true" >
2019-06-19 00:04:29 +08:00
Save the resource with a path relative to the scene which uses it.
2017-09-13 04:42:36 +08:00
</constant>
2022-06-24 17:16:37 +08:00
<constant name= "FLAG_BUNDLE_RESOURCES" value= "2" enum= "SaverFlags" is_bitfield= "true" >
2019-06-19 00:04:29 +08:00
Bundles external resources.
2017-09-13 04:42:36 +08:00
</constant>
2022-06-24 17:16:37 +08:00
<constant name= "FLAG_CHANGE_PATH" value= "4" enum= "SaverFlags" is_bitfield= "true" >
2019-06-22 07:04:47 +08:00
Changes the [member Resource.resource_path] of the saved resource to match its new location.
2017-09-13 04:42:36 +08:00
</constant>
2022-06-24 17:16:37 +08:00
<constant name= "FLAG_OMIT_EDITOR_PROPERTIES" value= "8" enum= "SaverFlags" is_bitfield= "true" >
2019-06-19 00:04:29 +08:00
Do not save editor-specific metadata (identified by their [code]__editor[/code] prefix).
2017-09-13 04:42:36 +08:00
</constant>
2022-06-24 17:16:37 +08:00
<constant name= "FLAG_SAVE_BIG_ENDIAN" value= "16" enum= "SaverFlags" is_bitfield= "true" >
2022-09-05 19:01:31 +08:00
Save as big endian (see [member FileAccess.big_endian]).
2017-09-13 04:42:36 +08:00
</constant>
2022-06-24 17:16:37 +08:00
<constant name= "FLAG_COMPRESS" value= "32" enum= "SaverFlags" is_bitfield= "true" >
2022-09-05 19:01:31 +08:00
Compress the resource on save using [constant FileAccess.COMPRESSION_ZSTD]. Only available for binary resource types.
2017-09-13 04:42:36 +08:00
</constant>
2022-06-24 17:16:37 +08:00
<constant name= "FLAG_REPLACE_SUBRESOURCE_PATHS" value= "64" enum= "SaverFlags" is_bitfield= "true" >
2019-06-19 00:04:29 +08:00
Take over the paths of the saved subresources (see [method Resource.take_over_path]).
2018-10-25 21:14:36 +08:00
</constant>
2017-09-13 04:42:36 +08:00
</constants>
</class>