GFTraitSet¶
API Reference / Domain / 类索引
- 路径:
addons/gf/extensions/domain/traits/gf_trait_set.gd - 模块:
Domain - 继承:
Resource - API:
public - 类别:领域模型 (
domain_model) - 首次版本:
3.17.0
通用特征集合。 可从任意来源收集 GFTrait,再按目标键与分类计算最终数值。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 属性 | traits |
var traits: Array[GFTrait] = [] |
| 方法 | add_trait |
func add_trait(p_trait: GFTrait) -> void: |
| 方法 | remove_traits_by_id |
func remove_traits_by_id(trait_id: StringName) -> void: |
| 方法 | get_traits |
func get_traits(target_id: StringName, category: StringName = &"") -> Array[GFTrait]: |
| 方法 | calculate_number |
func calculate_number(target_id: StringName, base_value: float, category: StringName = &"") -> float: |
| 方法 | clear |
func clear() -> void: |
属性¶
traits¶
- API:
public
特征列表。
结构:
traits: Array[GFTrait],按 priority 排序保存的特征资源列表。
方法¶
add_trait¶
- API:
public
添加一个特征。
参数:
| 名称 | 说明 |
|---|---|
p_trait |
特征资源。 |
remove_traits_by_id¶
- API:
public
按 ID 移除特征。
参数:
| 名称 | 说明 |
|---|---|
trait_id |
特征 ID。 |
get_traits¶
- API:
public
查询匹配的特征。
参数:
| 名称 | 说明 |
|---|---|
target_id |
目标键。 |
category |
可选分类;为空时不按分类过滤。 |
返回:匹配特征数组。
结构:
return: Array[GFTrait],匹配目标键和分类过滤条件的特征资源。
calculate_number¶
- API:
public
func calculate_number(target_id: StringName, base_value: float, category: StringName = &"") -> float:
计算目标键的最终数值。
参数:
| 名称 | 说明 |
|---|---|
target_id |
目标键。 |
base_value |
基础值。 |
category |
可选分类。 |
返回:合并后的数值。
clear¶
- API:
public
清空特征。