Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
ResourceSaver
继承: Object
用于将 Resource 保存到文件系统的单例。
描述
用于将资源类型保存到文件系统的单例。
它会使用在引擎中注册的(内置或插件)ResourceFormatSaver 将资源数据保存为文本文件(如 .tres
或 .tscn
)或二进制文件(如 .res
或 .scn
)。
方法
void |
add_resource_format_saver(format_saver: ResourceFormatSaver, at_front: bool = false) |
get_resource_id_for_path(path: String, generate: bool = false) |
|
void |
remove_resource_format_saver(format_saver: ResourceFormatSaver) |
save(resource: Resource, path: String = "", flags: BitField[SaverFlags] = 0) |
枚举
flags SaverFlags: 🔗
SaverFlags FLAG_NONE = 0
没有资源保存选项。
SaverFlags FLAG_RELATIVE_PATHS = 1
用相对于使用该资源的场景的路径来保存该资源。
SaverFlags FLAG_BUNDLE_RESOURCES = 2
捆绑外部资源。
SaverFlags FLAG_CHANGE_PATH = 4
更改已保存资源的 Resource.resource_path 以匹配其新位置。
SaverFlags FLAG_OMIT_EDITOR_PROPERTIES = 8
不要保存编辑器特定的元数据(由其 __editor
前缀标识)。
SaverFlags FLAG_SAVE_BIG_ENDIAN = 16
保存为大端序(见 FileAccess.big_endian)。
SaverFlags FLAG_COMPRESS = 32
在保存时使用 FileAccess.COMPRESSION_ZSTD 压缩资源。仅适用于二进制资源类型。
SaverFlags FLAG_REPLACE_SUBRESOURCE_PATHS = 64
接管保存的子资源的路径(见 Resource.take_over_path())。
方法说明
void add_resource_format_saver(format_saver: ResourceFormatSaver, at_front: bool = false) 🔗
注册一个新的 ResourceFormatSaver。 ResourceSaver 将使用 ResourceFormatSaver,如 save() 中所述。
对于用 GDScript 编写的 ResourceFormatSaver,此方法将隐式执行(详见 ResourceFormatSaver)。
PackedStringArray get_recognized_extensions(type: Resource) 🔗
返回可用于保存给定类型的资源的扩展列表。
int get_resource_id_for_path(path: String, generate: bool = false) 🔗
返回路径对应的资源 ID。如果 generate
为 true
,则路径没有对应资源 ID 时会生成一个新的。如果 generate
为 false
且路径未找到,则会返回 ResourceUID.INVALID_ID。
void remove_resource_format_saver(format_saver: ResourceFormatSaver) 🔗
取消注册给定的 ResourceFormatSaver。
Error save(resource: Resource, path: String = "", flags: BitField[SaverFlags] = 0) 🔗
使用识别资源对象的 ResourceFormatSaver 将资源保存到给定路径。如果 path
为空,则 ResourceSaver 将尝试使用 Resource.resource_path。
可以指定 flags
位掩码以使用 SaverFlags 标志自定义保存行为。
成功时返回 @GlobalScope.OK。
注意:项目正运行时,任何生成的与资源关联的 UID 都不会被保存,因为所需的代码仅在编辑器模式下执行。