ResourceSaver
继承: Object
用于将 Resource 保存到文件系统的单例。
描述
用于将资源类型保存到文件系统的单例。
它会使用在引擎中注册的(内置或插件)ResourceFormatSaver 将资源数据保存为文本文件(如 .tres
或 .tscn
)或二进制文件(如 .res
或 .scn
)。
方法
void | add_resource_format_saver(format_saver: ResourceFormatSaver, at_front: 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) 🔗
返回可用于保存给定类型的资源的扩展列表。
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 都不会被保存,因为所需的代码仅在编辑器模式下执行。