跳转至

GFResourceVariantProvider

API Reference / Standard / 类索引

  • 路径:addons/gf/standard/utilities/assets/gf_resource_variant_provider.gd
  • 模块:Standard
  • 继承:RefCounted
  • API:public
  • 类别:运行时服务 (runtime_service)
  • 首次版本:6.0.0

资源键变体解析 provider。 为 GFResourceResolverUtility 提供按变体键选择资源路径的通用 provider。变体键可以表示语言、 平台、皮肤、质量档位或项目自定义域;本类只处理优先级和回退,不解释变体业务含义。

成员概览

类型 名称 签名
常量 DEFAULT_VARIANT_KEY const DEFAULT_VARIANT_KEY: StringName = &"default"
方法 clear func clear() -> void:
方法 set_default_variant_order func set_default_variant_order(variant_keys: PackedStringArray) -> void:
方法 get_default_variant_order func get_default_variant_order() -> PackedStringArray:
方法 register_variant func register_variant( resource_key: StringName, variant_key: StringName, path: String, type_hint: String = "", priority: int = 0, metadata: Dictionary = {} ) -> bool:
方法 unregister_variant func unregister_variant(resource_key: StringName, variant_key: StringName) -> bool:
方法 has_variant func has_variant(resource_key: StringName, variant_key: StringName) -> bool:
方法 get_variant_keys func get_variant_keys(resource_key: StringName) -> PackedStringArray:
方法 resolve_resource func resolve_resource(request: Dictionary) -> Dictionary:
方法 get_debug_snapshot func get_debug_snapshot() -> Dictionary:

常量

DEFAULT_VARIANT_KEY

  • API:public
  • 首次版本:6.0.0
const DEFAULT_VARIANT_KEY: StringName = &"default"

默认变体键。注册为空变体时可作为最后回退。

方法

clear

  • API:public
  • 首次版本:6.0.0
func clear() -> void:

清空全部变体注册。

set_default_variant_order

  • API:public
  • 首次版本:6.0.0
func set_default_variant_order(variant_keys: PackedStringArray) -> void:

设置默认变体回退顺序。

参数:

名称 说明
variant_keys 变体键列表,越靠前越优先。

get_default_variant_order

  • API:public
  • 首次版本:6.0.0
func get_default_variant_order() -> PackedStringArray:

获取默认变体回退顺序副本。

返回:变体键列表。

register_variant

  • API:public
  • 首次版本:6.0.0
func register_variant( resource_key: StringName, variant_key: StringName, path: String, type_hint: String = "", priority: int = 0, metadata: Dictionary = {} ) -> bool:

注册资源键的某个变体路径。

参数:

名称 说明
resource_key 稳定资源键。
variant_key 变体键;为空时归一为 default。
path Godot 资源路径。
type_hint 可选 ResourceLoader 类型提示。
priority 同一资源键和变体键重复注册时,数值越大越优先。
metadata 调用方自定义元数据。

返回:注册成功返回 true。

结构:

  • metadata: Dictionary project-defined metadata copied into resolution reports.

unregister_variant

  • API:public
  • 首次版本:6.0.0
func unregister_variant(resource_key: StringName, variant_key: StringName) -> bool:

注销资源键的某个变体。

参数:

名称 说明
resource_key 稳定资源键。
variant_key 变体键;为空时归一为 default。

返回:成功移除返回 true。

has_variant

  • API:public
  • 首次版本:6.0.0
func has_variant(resource_key: StringName, variant_key: StringName) -> bool:

检查资源键是否有指定变体。

参数:

名称 说明
resource_key 稳定资源键。
variant_key 变体键;为空时归一为 default。

返回:存在返回 true。

get_variant_keys

  • API:public
  • 首次版本:6.0.0
func get_variant_keys(resource_key: StringName) -> PackedStringArray:

获取资源键已注册的变体键。

参数:

名称 说明
resource_key 稳定资源键。

返回:排序后的变体键列表。

resolve_resource

  • API:public
  • 首次版本:6.0.0
func resolve_resource(request: Dictionary) -> Dictionary:

GFResourceResolverUtility provider 协议入口。

参数:

名称 说明
request 资源解析请求。

返回:provider 解析报告。

结构:

  • request: Dictionary from GFResourceResolverUtility containing key, type_hint, and options.
  • return: Dictionary with ok, path, type_hint, provider_id, reason, and metadata.

get_debug_snapshot

  • API:public
  • 首次版本:6.0.0
func get_debug_snapshot() -> Dictionary:

获取诊断快照。

返回:诊断快照。

结构:

  • return: Dictionary with resource_key_count, variant_count, default_variant_order, and keys.