GFSkillActivationContext¶
API Reference / Combat / 类索引
- 路径:
addons/gf/extensions/combat/skills/gf_skill_activation_context.gd - 模块:
Combat - 继承:
RefCounted - API:
public - 类别:值对象 (
value_object) - 首次版本:
3.20.0
技能激活上下文。 保存一次技能激活过程中的 owner、目标、位置、失败原因和项目元数据。 它只承载通用上下文,不解释成本、阵营、属性或具体玩法规则。
成员概览¶
| 类型 | 名称 | 签名 |
|---|---|---|
| 属性 | skill |
var skill: GFSkill = null |
| 属性 | owner |
var owner: Object = null |
| 属性 | manual_target |
var manual_target: Object = null |
| 属性 | cast_center |
var cast_center: Variant = null |
| 属性 | resolved_center |
var resolved_center: Vector2 = Vector2.ZERO |
| 属性 | targets |
var targets: Array[Object] = [] |
| 属性 | failure_reason |
var failure_reason: StringName = &"" |
| 属性 | metadata |
var metadata: Dictionary = {} |
| 方法 | configure |
func configure( p_skill: GFSkill, p_owner: Object, p_manual_target: Object = null, p_cast_center: Variant = null, p_resolved_center: Vector2 = Vector2.ZERO, p_metadata: Dictionary = {} ) -> RefCounted: |
| 方法 | fail |
func fail(reason: StringName, extra_metadata: Dictionary = {}) -> void: |
| 方法 | is_ok |
func is_ok() -> bool: |
| 方法 | to_report |
func to_report() -> Dictionary: |
属性¶
skill¶
- API:
public
技能实例。
owner¶
- API:
public
技能拥有者。
manual_target¶
- API:
public
手动传入的目标。
cast_center¶
- API:
public
原始施放中心。
结构:
cast_center: Variant,可为 null 或 Vector2。
resolved_center¶
- API:
public
解析后的施放中心。
targets¶
- API:
public
最终目标列表。
结构:
targets: Array[Object],经过项目目标规则过滤后的目标。
failure_reason¶
- API:
public
激活报告中的失败原因。空值表示尚未失败。
metadata¶
- API:
public
项目自定义元数据。框架不解释该字段。
结构:
metadata: Dictionary,项目持有的成本、日志、调试或表现数据。
方法¶
configure¶
- API:
public
func configure( p_skill: GFSkill, p_owner: Object, p_manual_target: Object = null, p_cast_center: Variant = null, p_resolved_center: Vector2 = Vector2.ZERO, p_metadata: Dictionary = {} ) -> RefCounted:
配置上下文并返回自身。
参数:
| 名称 | 说明 |
|---|---|
p_skill |
技能实例。 |
p_owner |
技能拥有者。 |
p_manual_target |
手动传入目标。 |
p_cast_center |
原始施放中心。 |
p_resolved_center |
解析后的施放中心。 |
p_metadata |
项目自定义元数据。 |
返回:当前上下文。
结构:
p_cast_center: Variant,可为 null 或 Vector2。p_metadata: Dictionary,复制到上下文中供项目检查、提交或诊断使用。return: GFSkillActivationContext 当前上下文。
fail¶
- API:
public
标记激活失败。
参数:
| 名称 | 说明 |
|---|---|
reason |
失败原因。 |
extra_metadata |
追加到上下文的元数据。 |
结构:
extra_metadata: Dictionary,复制到 metadata 中供项目诊断或串联使用。
is_ok¶
- API:
public
检查上下文当前是否未失败。
返回:未失败时返回 true。
to_report¶
- API:
public
创建报告字典。
返回:报告字典。
结构:
return: Dictionary,包含 ok、reason、skill_id、target_count 和 metadata。