GFSettingDefinition¶
API Reference / Standard / 类索引
- 路径:
addons/gf/standard/utilities/settings/gf_setting_definition.gd - 模块:
Standard - 继承:
Resource - API:
public - 类别:资源定义 (
resource_definition) - 首次版本:
3.17.0
单个运行时设置项的声明。 只描述稳定键、默认值、值类型和持久化策略,不绑定具体 UI 或业务含义。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 枚举 | ValueType |
enum ValueType |
| 属性 | key |
var key: StringName = &"" |
| 属性 | default_value |
var default_value: Variant = null |
| 属性 | value_type |
var value_type: ValueType = ValueType.ANY |
| 属性 | persistent |
var persistent: bool = true |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 方法 | get_setting_key |
func get_setting_key() -> StringName: |
| 方法 | coerce_value |
func coerce_value(value: Variant) -> Variant: |
| 方法 | is_value_valid |
func is_value_valid(value: Variant) -> bool: |
| 方法 | duplicate_definition |
func duplicate_definition() -> GFSettingDefinition: |
枚举¶
ValueType¶
- API:
public
enum ValueType { ## 不做类型转换。 ANY, ## 布尔值。 BOOL, ## 整数。 INT, ## 浮点数。 FLOAT, ## 字符串。 STRING, ## StringName。 STRING_NAME, ## Vector2。 VECTOR2, ## Vector2i。 VECTOR2I, ## Color。 COLOR, ## Dictionary。 DICTIONARY, ## Array。 ARRAY, }
设置值类型,用于运行时输入钳制和持久化恢复。
属性¶
key¶
- API:
public
设置项稳定键。建议使用 category/name 形式。
default_value¶
- API:
public
默认值。
结构:
default_value: Variant setting value accepted by value_type.
value_type¶
- API:
public
值类型。
persistent¶
- API:
public
是否参与持久化保存。
metadata¶
- API:
public
可选元数据,供设置界面分组、排序或展示使用。
结构:
metadata: Dictionary with optional UI grouping, ordering, label, and project-defined metadata.
方法¶
get_setting_key¶
- API:
public
获取稳定设置键。
返回:设置键;未显式设置时尝试使用资源路径。
coerce_value¶
- API:
public
将输入值转换为当前定义要求的类型。
参数:
| 名称 | 说明 |
|---|---|
value |
输入值。 |
返回:转换后的值。
结构:
value: Variant setting value accepted by value_type.return: Variant coerced to the configured value_type when possible.
is_value_valid¶
- API:
public
检查值是否符合声明类型。
参数:
| 名称 | 说明 |
|---|---|
value |
待检查值。 |
返回:符合时返回 true。
结构:
value: Variant setting value to validate against value_type.
duplicate_definition¶
- API:
public
创建同内容拷贝,避免运行时修改污染共享资源。
返回:新定义。