跳转至

GFCombatGauge

API Reference / Combat / 类索引

  • 路径:addons/gf/extensions/combat/attributes/gf_combat_gauge.gd
  • 模块:Combat
  • 继承:Node
  • API:public
  • 类别:运行时句柄 (runtime_handle)
  • 首次版本:3.17.0

通用可变数值槽。 用 GFCombatAction 驱动一个带上下限的数值。它可表示生命、护盾、能量、 耐久或任意项目自定义资源,但框架不绑定这些业务语义。

成员概览

类型 名称 签名
信号 value_changed signal value_changed(previous_value: float, current_value: float)
信号 action_validating signal action_validating(action: GFCombatAction, report: Dictionary)
信号 action_applied signal action_applied(result: GFCombatActionResult)
信号 action_rejected signal action_rejected(result: GFCombatActionResult)
信号 minimum_reached signal minimum_reached(current_value: float)
信号 maximum_reached signal maximum_reached(current_value: float)
属性 min_value var min_value: float = 0.0
属性 max_value var max_value: float = 100.0
属性 current_value var current_value: float = 100.0
属性 accepted_action_kinds var accepted_action_kinds: Array[StringName] = []
属性 rejected_action_kinds var rejected_action_kinds: Array[StringName] = []
属性 modifiers var modifiers: Array[GFCombatActionModifier] = []
属性 metadata var metadata: Dictionary = {}
属性 validation_callback var validation_callback: Callable = Callable()
方法 configure func configure(p_min_value: float, p_max_value: float, p_current_value: float) -> void:
方法 set_value func set_value(value: float) -> void:
方法 set_bounds func set_bounds(p_min_value: float, p_max_value: float) -> void:
方法 get_ratio func get_ratio() -> float:
方法 can_receive_action_kind func can_receive_action_kind(action_kind: StringName) -> bool:
方法 add_modifier func add_modifier(modifier: GFCombatActionModifier) -> void:
方法 remove_modifier func remove_modifier(modifier: GFCombatActionModifier) -> void:
方法 clear_modifiers func clear_modifiers() -> void:
方法 apply_action func apply_action(action: GFCombatAction) -> GFCombatActionResult:

信号

value_changed

  • API:public
signal value_changed(previous_value: float, current_value: float)

数值变化时发出。

参数:

名称 说明
previous_value 旧值。
current_value 新值。

action_validating

  • API:public
signal action_validating(action: GFCombatAction, report: Dictionary)

动作进入自定义校验阶段时发出。

参数:

名称 说明
action 已经应用修正器的动作副本。
report 当前校验报告。

结构:

  • report: Dictionary,包含 ok、reason 和 metadata,可由监听者调整。

action_applied

  • API:public
signal action_applied(result: GFCombatActionResult)

动作成功应用时发出。

参数:

名称 说明
result 应用结果。

action_rejected

  • API:public
signal action_rejected(result: GFCombatActionResult)

动作被拒绝时发出。

参数:

名称 说明
result 拒绝结果。

minimum_reached

  • API:public
signal minimum_reached(current_value: float)

数值到达下限时发出。

参数:

名称 说明
current_value 当前值。

maximum_reached

  • API:public
signal maximum_reached(current_value: float)

数值到达上限时发出。

参数:

名称 说明
current_value 当前值。

属性

min_value

  • API:public
var min_value: float = 0.0

数值下限。

max_value

  • API:public
var max_value: float = 100.0

数值上限。

current_value

  • API:public
var current_value: float = 100.0

当前数值。

accepted_action_kinds

  • API:public
var accepted_action_kinds: Array[StringName] = []

非空时,只接受这些动作类别。

rejected_action_kinds

  • API:public
var rejected_action_kinds: Array[StringName] = []

始终拒绝的动作类别。

modifiers

  • API:public
var modifiers: Array[GFCombatActionModifier] = []

动作修正器。

metadata

  • API:public
var metadata: Dictionary = {}

项目自定义元数据。

结构:

  • metadata: Dictionary,项目自定义数值槽元数据;默认进入动作校验报告。

validation_callback

  • API:public
var validation_callback: Callable = Callable()

自定义校验回调,建议签名为 func(action: GFCombatAction, report: Dictionary) -> Variant。 返回 bool 可直接决定是否接受;返回 Dictionary 可覆盖 ok、reason、metadata 等报告字段。

方法

configure

  • API:public
func configure(p_min_value: float, p_max_value: float, p_current_value: float) -> void:

配置数值槽。

参数:

名称 说明
p_min_value 数值下限。
p_max_value 数值上限。
p_current_value 当前数值。

set_value

  • API:public
func set_value(value: float) -> void:

设置当前数值。

参数:

名称 说明
value 新数值。

set_bounds

  • API:public
func set_bounds(p_min_value: float, p_max_value: float) -> void:

设置上下限并夹取当前值。

参数:

名称 说明
p_min_value 数值下限。
p_max_value 数值上限。

get_ratio

  • API:public
func get_ratio() -> float:

获取 0 到 1 的当前比例。

返回:当前比例。

can_receive_action_kind

  • API:public
func can_receive_action_kind(action_kind: StringName) -> bool:

检查动作类别是否可被当前数值槽接收。

参数:

名称 说明
action_kind 动作类别。

返回:可接收时返回 true。

add_modifier

  • API:public
func add_modifier(modifier: GFCombatActionModifier) -> void:

添加动作修正器。

参数:

名称 说明
modifier 修正器。

remove_modifier

  • API:public
func remove_modifier(modifier: GFCombatActionModifier) -> void:

移除动作修正器。

参数:

名称 说明
modifier 修正器。

clear_modifiers

  • API:public
func clear_modifiers() -> void:

清空动作修正器。

apply_action

  • API:public
func apply_action(action: GFCombatAction) -> GFCombatActionResult:

应用动作。

参数:

名称 说明
action 原始动作。

返回:应用结果。