跳转至

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
var trait_id: StringName = &""

特征标识。

target_id

  • API:public
var target_id: StringName = &""

目标键,例如属性名、规则名或项目自定义键。

category

  • API:public
var category: StringName = &""

可选分类,用于过滤不同规则域。

value

  • API:public
var value: float = 0.0

数值。

combine_mode

  • API:public
var combine_mode: CombineMode = CombineMode.ADD

合并方式。

priority

  • API:public
var priority: int = 0

排序优先级,值越小越先应用。

metadata

  • API:public
var metadata: Dictionary = {}

自定义元数据。

结构:

  • metadata: Dictionary,项目自定义特征元数据;GF 不读取或改写其中字段。

方法

apply_number

  • API:public
func apply_number(current_value: float) -> float:

将当前特征应用到数值上。

参数:

名称 说明
current_value 当前值。

返回:应用后的值。