54 lines
3.7 KiB
GDScript
54 lines
3.7 KiB
GDScript
## EventID — 全局事件 ID 常量目录(Autoload: EventID)
|
||
## 权威来源:implementation_plan.md §2.1
|
||
## 规则:新增事件从 22 起递增,并同步更新本文件。禁止硬编码整数替代常量。
|
||
extends Node
|
||
|
||
# ── 基础系统事件 (1-4) ────────────────────────────────────────────
|
||
const GAME_STARTED: int = 1
|
||
const GAME_OVER: int = 2
|
||
const GAME_PAUSED: int = 3
|
||
const GAME_RESUMED: int = 4
|
||
|
||
# ── 战斗事件 (5-10) ───────────────────────────────────────────────
|
||
const PLAYER_DAMAGED: int = 5
|
||
const PLAYER_DIED: int = 6
|
||
const ENEMY_KILLED: int = 7
|
||
const WAVE_COMPLETE: int = 8
|
||
const CHARGE_STATE_CHANGED: int = 9 # 供 UI 使用,非边沿信号
|
||
const ON_PLAYER_HURT: int = 10 # 受击反馈(VFX/音效触发)
|
||
|
||
# ── 法术事件 (11-15) ──────────────────────────────────────────────
|
||
const SPELL_CAST_BEGIN: int = 11
|
||
const SPELL_CAST_END: int = 12
|
||
const DASH_TRIGGERED: int = 13 # 冲刺边沿检测(P6-N36)
|
||
const CHARGE_FIRED: int = 14 # 蓄力完成一次性边沿(P6-N69);SpellEvaluator 订阅此而非 CHARGE_STATE_CHANGED
|
||
const SPELL_EQUIPPED: int = 15
|
||
|
||
# ── 进度 / UI 事件 (16-21) ────────────────────────────────────────
|
||
const LEVEL_UP: int = 16
|
||
const SHOP_OPENED: int = 17
|
||
const ACHIEVEMENT_UNLOCKED: int = 18 # 负载:{ "achievement_id": String };ST-10 Steam 成就钩子
|
||
const BOSS_SPAWNED: int = 19
|
||
const GAME_STATE_CHANGED: int = 20 # 负载:{ "from": String, "to": String }
|
||
const SPELL_DROP_PICKUP: int = 21 # 负载:{ "spell_id": String, "pos": Vector2 }
|
||
|
||
# ── S1 新增事件 (22+) ─────────────────────────────────────────────
|
||
const APPLY_DAMAGE: int = 22 # 负载:damage_context_id: int;EnemyManager 订阅处理伤害
|
||
|
||
# ── S3 新增事件 (23+) ─────────────────────────────────────────────
|
||
const SPELL_DEPTH_EXCEEDED: int = 23 # 负载:{caster_id, depth};HUD 订阅显示警告
|
||
const BULLET_HIT_TRIGGER: int = 24 # 负载:{bullet_id, payload_id, hit_pos};调试用
|
||
|
||
# ── S4 新增事件 (25+) ─────────────────────────────────────────────
|
||
const STATUS_APPLIED: int = 25 # 负载:{target_id, status_type, stacks}
|
||
const BULLET_HIT: int = 26 # 负载:{bullet_id, target_id, hit_pos}
|
||
|
||
# ── S5 新增事件 (27+) ─────────────────────────────────────────────
|
||
const MINION_SPAWNED: int = 27 # 负载:{minion_id, owner_id, current_count}
|
||
const MINION_EXPIRED: int = 28 # 负载:{minion_id, owner_id, current_count}
|
||
|
||
# ── S6 Boss 事件 (29+) ────────────────────────────────────────────
|
||
const BOSS_PHASE_CHANGED: int = 29 # 负载:{boss_id, boss_type, phase}
|
||
const BOSS_KILLED: int = 30 # 负载:{boss_id, boss_type, wave}
|
||
# 每新增一条须同步更新 implementation_plan.md §2.1 事件目录表
|