GFModifiedAttribute¶
API Reference / Combat / 类索引
- 路径:
addons/gf/extensions/combat/attributes/gf_modified_attribute.gd - 模块:
Combat - 继承:
RefCounted - API:
public - 类别:运行时句柄 (
runtime_handle) - 首次版本:
3.17.0
带修饰器公式的响应式属性。 持有基础值并管理多个修饰器 (GFModifier)。 内部使用公式 (Base + BaseAdd) * (1.0 + PercentAdd) + FinalAdd 进行自动重算。 对外通过只读的 current_value 暴露响应式结果,方便 UI 绑定。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 属性 | current_value |
var current_value: GFBindableProperty: |
| 方法 | set_base_value |
func set_base_value(p_value: float) -> void: |
| 方法 | get_base_value |
func get_base_value() -> float: |
| 方法 | add_modifier |
func add_modifier(p_modifier: GFModifier) -> void: |
| 方法 | remove_modifier |
func remove_modifier(p_modifier: GFModifier) -> void: |
| 方法 | remove_modifiers_by_source |
func remove_modifiers_by_source(p_source_id: StringName) -> void: |
| 方法 | force_recalculate |
func force_recalculate() -> void: |
属性¶
current_value¶
- API:
public
属性的只读响应式当前值。
方法¶
set_base_value¶
- API:
public
设置基础值。
参数:
| 名称 | 说明 |
|---|---|
p_value |
新的基础值。 |
get_base_value¶
- API:
public
获取基础值。
返回:当前基础值。
add_modifier¶
- API:
public
添加修饰器。
参数:
| 名称 | 说明 |
|---|---|
p_modifier |
修饰器实例。 |
remove_modifier¶
- API:
public
移除修饰器。
参数:
| 名称 | 说明 |
|---|---|
p_modifier |
要移除的修饰器实例。 |
remove_modifiers_by_source¶
- API:
public
根据 source_id 移除所有匹配的修饰器。
参数:
| 名称 | 说明 |
|---|---|
p_source_id |
来源标识。 |
force_recalculate¶
- API:
public
强制执行一次属性重算。 当外部直接修改了 Modifier 的数值时,可手动调用此方法触发 UI 更新。