跳转至

GFCombatAction

API Reference / Combat / 类索引

  • 路径:addons/gf/extensions/combat/actions/gf_combat_action.gd
  • 模块:Combat
  • 继承:Resource
  • API:public
  • 类别:资源定义 (resource_definition)
  • 首次版本:3.17.0

通用战斗动作数据。 表达一次对目标系统可解释的数值动作。框架只保存动作类别、操作、数值、 标签和元数据,不规定伤害、治疗、阵营或生命值语义。

成员概览

类型 名称 签名
枚举 Operation enum Operation
属性 action_id var action_id: StringName = &""
属性 action_kind var action_kind: StringName = &""
属性 operation var operation: Operation = Operation.SUBTRACT
属性 amount var amount: float = 0.0
属性 tags var tags: Array[StringName] = []
属性 payload var payload: Variant = null
属性 metadata var metadata: Dictionary = {}
方法 duplicate_action func duplicate_action() -> GFCombatAction:
方法 with_action_id func with_action_id(value: StringName) -> GFCombatAction:
方法 with_kind func with_kind(value: StringName) -> GFCombatAction:
方法 with_operation func with_operation(value: Operation) -> GFCombatAction:
方法 with_amount func with_amount(value: float) -> GFCombatAction:
方法 with_tags func with_tags(value: Array[StringName]) -> GFCombatAction:
方法 with_payload func with_payload(value: Variant) -> GFCombatAction:
方法 with_metadata func with_metadata(value: Dictionary) -> GFCombatAction:
方法 to_dict func to_dict() -> Dictionary:

枚举

Operation

  • API:public
enum Operation { ## 增加目标值。 ADD, ## 减少目标值。 SUBTRACT, ## 直接设置目标值。 SET, }

数值操作类型。

属性

action_id

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

动作标识。

action_kind

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

动作类别,由项目定义。

operation

  • API:public
var operation: Operation = Operation.SUBTRACT

数值操作。

amount

  • API:public
var amount: float = 0.0

动作数值。

tags

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

动作标签,由项目定义。

payload

  • API:public
var payload: Variant = null

项目自定义 payload。

结构:

  • payload: Variant,可保存项目自定义动作载荷;框架只复制并透传。

metadata

  • API:public
var metadata: Dictionary = {}

项目自定义元数据。

结构:

  • metadata: Dictionary,项目自定义元数据;框架只复制并透传。

方法

duplicate_action

  • API:public
func duplicate_action() -> GFCombatAction:

复制动作。

返回:新动作。

with_action_id

  • API:public
func with_action_id(value: StringName) -> GFCombatAction:

设置动作标识并返回自身。

参数:

名称 说明
value 动作标识。

返回:当前动作。

with_kind

  • API:public
func with_kind(value: StringName) -> GFCombatAction:

设置动作类别并返回自身。

参数:

名称 说明
value 动作类别。

返回:当前动作。

with_operation

  • API:public
func with_operation(value: Operation) -> GFCombatAction:

设置数值操作并返回自身。

参数:

名称 说明
value 数值操作。

返回:当前动作。

with_amount

  • API:public
func with_amount(value: float) -> GFCombatAction:

设置动作数值并返回自身。

参数:

名称 说明
value 动作数值。

返回:当前动作。

with_tags

  • API:public
func with_tags(value: Array[StringName]) -> GFCombatAction:

设置动作标签并返回自身。

参数:

名称 说明
value 动作标签。

返回:当前动作。

with_payload

  • API:public
func with_payload(value: Variant) -> GFCombatAction:

设置 payload 并返回自身。

参数:

名称 说明
value 载荷。

返回:当前动作。

结构:

  • value: Variant,可保存项目自定义动作载荷;框架只复制并透传。

with_metadata

  • API:public
func with_metadata(value: Dictionary) -> GFCombatAction:

设置元数据并返回自身。

参数:

名称 说明
value 元数据。

返回:当前动作。

结构:

  • value: Dictionary,项目自定义元数据;框架只复制并透传。

to_dict

  • API:public
func to_dict() -> Dictionary:

转为字典。

返回:字典快照。

结构:

  • return: Dictionary,包含 action_id、action_kind、operation、amount、tags、payload 和 metadata。