ResourceFormatLoader

Inherits: Reference < Object

从文件中加载特定资源类型。

描述

Godot使用ResourceFormatLoaders在编辑器或导出的游戏中加载资源。它们通过ResourceLoader单例自动查询,或者在加载具有内部依赖性的资源时被查询。每个文件类型可以作为不同的资源类型加载,因此在引擎中注册了多个ResourceFormatLoaders。

扩展这个类允许你定义你自己的加载器。请确保尊重文档中的返回类型和值。你应该给它一个带有class_name的全局类名,这样它才能被注册。像内置的ResourceFormatLoaders一样,它将在加载其处理的类型的资源时被自动调用。你也可以实现一个ResourceFormatSaver

注意: 如果你需要的资源类型存在,但Godot无法加载其格式,你也可以扩展EditorImportPlugin。选择一种方式而不是另一种方式,取决于该格式是否适合于最终导出的游戏。例如,最好先把.png纹理导入为.stexStreamTexture),这样它们在显卡上的加载效率会更好。

方法

void

get_dependencies ( String path, String add_types ) virtual

PoolStringArray

get_recognized_extensions ( ) virtual

String

get_resource_type ( String path ) virtual

bool

handles_type ( String typename ) virtual

Variant

load ( String path, String original_path ) virtual

int

rename_dependencies ( String path, String renames ) virtual

方法说明

  • void get_dependencies ( String path, String add_types ) virtual

如果实现,则获取给定资源的依赖项。如果 add_typestrue,路径应该附加 ::TypeName,其中 TypeName 是依赖的类名。

注意: ClassDB 不知道脚本定义的自定义资源类型,因此您可能只为它们返回 "Resource"


获取该加载器能够读取的文件的扩展名列表。


获取与给定路径相关的资源的类名。如果加载器不能处理它,它应该返回""

注意: ClassDB 不知道脚本定义的自定义资源类型,因此您可能只为它们返回 "Resource"


说明这个加载器可以加载哪个资源类。

注意: ClassDB 不知道脚本定义的自定义资源类型,因此您可以只为它们处理 "Resource"


当引擎发现这个加载器是兼容的,就会加载一个资源。如果加载的资源是导入的结果,original_path将针对源文件。成功时返回一个Resource对象,失败时返回一个Error常量。


如果实现,重命名给定资源中的依赖项并保存它。 renames 是一个将旧的依赖路径映射到新的路径的 { String => String }的字典 。

成功时返回 @GlobalScope.OK,失败时返回 Error 常量。