GFTrait¶
API Reference / Domain / 类索引
- 路径:
addons/gf/extensions/domain/traits/gf_trait.gd - 模块:
Domain - 继承:
Resource - API:
public - 类别:资源定义 (
resource_definition) - 首次版本:
3.17.0
通用被动特征数据。 用于描述“某个来源对某个目标键产生的数值或标记影响”。 它不限定属性、伤害、装备等业务语义。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 枚举 | CombineMode |
enum CombineMode |
| 属性 | trait_id |
var trait_id: StringName = &"" |
| 属性 | target_id |
var target_id: StringName = &"" |
| 属性 | category |
var category: StringName = &"" |
| 属性 | value |
var value: float = 0.0 |
| 属性 | combine_mode |
var combine_mode: CombineMode = CombineMode.ADD |
| 属性 | priority |
var priority: int = 0 |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 方法 | apply_number |
func apply_number(current_value: float) -> float: |
枚举¶
CombineMode¶
- API:
public
enum CombineMode { ## 与当前值相加。 ADD, ## 与当前值相乘。 MULTIPLY, ## 直接覆盖当前值。 SET, ## 取当前值与特征值中的较大值。 MAX, ## 取当前值与特征值中的较小值。 MIN, }
数值合并方式。
属性¶
trait_id¶
- API:
public
特征标识。
target_id¶
- API:
public
目标键,例如属性名、规则名或项目自定义键。
category¶
- API:
public
可选分类,用于过滤不同规则域。
value¶
- API:
public
数值。
combine_mode¶
- API:
public
合并方式。
priority¶
- API:
public
排序优先级,值越小越先应用。
metadata¶
- API:
public
自定义元数据。
结构:
metadata: Dictionary,项目自定义特征元数据;GF 不读取或改写其中字段。
方法¶
apply_number¶
- API:
public
将当前特征应用到数值上。
参数:
| 名称 | 说明 |
|---|---|
current_value |
当前值。 |
返回:应用后的值。