跳转至

GFCombatHitContext

API Reference / Combat / 类索引

  • 路径:addons/gf/extensions/combat/hit_detection/gf_combat_hit_context.gd
  • 模块:Combat
  • 继承:RefCounted
  • API:public
  • 类别:值对象 (value_object)
  • 首次版本:3.17.0

一次通用命中交互的上下文。 只保存 source、target、hit_id、payload、位置和元数据。 它不解释伤害、阵营、生命值、命中结果或任何业务语义。

成员概览

类型 名称 签名
属性 source var source: Object = null
属性 target var target: Object = null
属性 hit_id var hit_id: StringName = &""
属性 payload var payload: Variant = null
属性 magnitude var magnitude: float = 0.0
属性 tags var tags: Array[StringName] = []
属性 position_2d var position_2d: Vector2 = Vector2.ZERO
属性 normal_2d var normal_2d: Vector2 = Vector2.ZERO
属性 position_3d var position_3d: Vector3 = Vector3.ZERO
属性 normal_3d var normal_3d: Vector3 = Vector3.ZERO
属性 metadata var metadata: Dictionary = {}
方法 with_source func with_source(value: Object) -> GFCombatHitContext:
方法 with_target func with_target(value: Object) -> GFCombatHitContext:
方法 with_hit_id func with_hit_id(value: StringName) -> GFCombatHitContext:
方法 with_payload func with_payload(value: Variant) -> GFCombatHitContext:
方法 with_magnitude func with_magnitude(value: float) -> GFCombatHitContext:
方法 with_tags func with_tags(value: Array[StringName]) -> GFCombatHitContext:
方法 with_metadata func with_metadata(value: Dictionary) -> GFCombatHitContext:
方法 to_dict func to_dict() -> Dictionary:

属性

source

  • API:public
var source: Object = null

命中发起者。

target

  • API:public
var target: Object = null

命中目标。

hit_id

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

命中 ID。

payload

  • API:public
var payload: Variant = null

命中携带的数据。框架不解释该字段。

结构:

  • payload: Variant,项目自定义命中载荷;框架只复制并透传。

magnitude

  • API:public
var magnitude: float = 0.0

通用强度值。框架不解释该字段。

tags

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

命中标签。框架不解释该字段。

position_2d

  • API:public
var position_2d: Vector2 = Vector2.ZERO

2D 命中位置。

normal_2d

  • API:public
var normal_2d: Vector2 = Vector2.ZERO

2D 命中法线。

position_3d

  • API:public
var position_3d: Vector3 = Vector3.ZERO

3D 命中位置。

normal_3d

  • API:public
var normal_3d: Vector3 = Vector3.ZERO

3D 命中法线。

metadata

  • API:public
var metadata: Dictionary = {}

项目自定义元数据。框架不解释该字段。

结构:

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

方法

with_source

  • API:public
func with_source(value: Object) -> GFCombatHitContext:

设置 source 并返回自身。

参数:

名称 说明
value source 对象。

返回:当前上下文。

with_target

  • API:public
func with_target(value: Object) -> GFCombatHitContext:

设置 target 并返回自身。

参数:

名称 说明
value target 对象。

返回:当前上下文。

with_hit_id

  • API:public
func with_hit_id(value: StringName) -> GFCombatHitContext:

设置 hit_id 并返回自身。

参数:

名称 说明
value 命中 ID。

返回:当前上下文。

with_payload

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

设置 payload 并返回自身。

参数:

名称 说明
value payload 数据。

返回:当前上下文。

结构:

  • value: Variant,项目自定义命中载荷;框架只复制并透传。

with_magnitude

  • API:public
func with_magnitude(value: float) -> GFCombatHitContext:

设置通用强度值并返回自身。

参数:

名称 说明
value 通用强度值。

返回:当前上下文。

with_tags

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

设置标签并返回自身。

参数:

名称 说明
value 标签数组。

返回:当前上下文。

with_metadata

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

设置元数据并返回自身。

参数:

名称 说明
value 元数据。

返回:当前上下文。

结构:

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

to_dict

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

转换为字典快照。

返回:字典快照。

结构:

  • return: Dictionary,包含 source、target、hit_id、payload、magnitude、tags、position_2d、normal_2d、position_3d、normal_3d 和 metadata。