EventContext

data class EventContext(val hookName: HookName, val battle: BattleState, val self: UnitState? = null, val target: UnitState? = null, val source: UnitState? = null, val side: SideState? = null, val foeSide: SideState? = null, val field: FieldState? = null, val effect: EffectDefinition? = null, val effectLookup: (String) -> EffectDefinition?? = null, val relay: Any? = null, val attributes: Map<String, Any?> = emptyMap())

单次 Hook 触发时的运行时上下文。

设计意图:

  • 为条件解释器、动作执行器、special handler 提供统一读取入口。

  • 把 battle、side、unit、effect、relay 等信息聚合为只读上下文对象。

该类型不负责状态变更,也不负责事件分发。

Constructors

Link copied to clipboard
constructor(hookName: HookName, battle: BattleState, self: UnitState? = null, target: UnitState? = null, source: UnitState? = null, side: SideState? = null, foeSide: SideState? = null, field: FieldState? = null, effect: EffectDefinition? = null, effectLookup: (String) -> EffectDefinition?? = null, relay: Any? = null, attributes: Map<String, Any?> = emptyMap())

Properties

Link copied to clipboard

扩展属性字典,用于补充非固定上下文。

Link copied to clipboard

当前 battle 状态。

Link copied to clipboard

当前参与结算的 effect 定义。

Link copied to clipboard

可选的 effect 查询函数,供动作执行器按 id 读取目标 effect 定义。

Link copied to clipboard

当前场地状态。

Link copied to clipboard

当前上下文关联的对方 side。

Link copied to clipboard

当前触发的 Hook 名称。

Link copied to clipboard
val relay: Any?

当前事件链上传递的 relay 值。

Link copied to clipboard

当前 handler 的主要持有者。

Link copied to clipboard

当前上下文关联的 side。

Link copied to clipboard

当前事件来源。

Link copied to clipboard

当前事件目标。