From 29d387aebc3ff0f09123f4a20aa260abe3c049b8 Mon Sep 17 00:00:00 2001 From: Joywayer Date: Thu, 23 Jul 2026 09:43:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(boss):=20=E4=BA=8B=E4=BB=B6=E5=B8=B8?= =?UTF-8?q?=E9=87=8F=20BOSS=5FPHASE=5FCHANGED=3D29=20/=20BOSS=5FKILLED=3D3?= =?UTF-8?q?0=20+=20=E7=9B=AE=E5=BD=95=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/technical/implementation_plan.md | 2 ++ scripts/autoloads/event_ids.gd | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/docs/technical/implementation_plan.md b/docs/technical/implementation_plan.md index 0df1026..640ef85 100644 --- a/docs/technical/implementation_plan.md +++ b/docs/technical/implementation_plan.md @@ -135,6 +135,8 @@ const SPELL_DROP_PICKUP: int = 21 # architecture_design.md §5.3:法术掉 | `19` | `EventID.SETTINGS_CHANGED` | `SETTINGS_CHANGED` | `key: String` | `SettingsManager` | `UIManager`(全局主题/字体重载) | | `20` | `EventID.GAME_STATE_CHANGED` | `GAME_STATE_CHANGED` | `prev: int, next: int` | `GameCycleManager` | `UIManager`, `AudioManager` | | `21` | `EventID.SPELL_DROP_PICKUP` | `SPELL_DROP_PICKUP` | `spell_id: String, auto_equip: bool` | `DropManager`, `ShopManager` | `UIManager`, `PlayerManager` | +| `29` | `EventID.BOSS_PHASE_CHANGED` | `BOSS_PHASE_CHANGED` | `boss_id, boss_type, phase` | `BossManager` | `UIManager`(HUD 阶段提示) | +| `30` | `EventID.BOSS_KILLED` | `BOSS_KILLED` | `boss_id, boss_type, wave` | `BossManager` | `GameCycleManager`(结算), `AchievementManager`(成就) | > 新增事件从 **22** 起递增,并向下表登记。规则:编号永不重用(可标 DEPRECATED 但不删除)。 > **E-N2 跨语言边界协议(GDScript ↔ C#)**:`architecture_design.md §6` 规定跨语言只传基本类型(int/float/Vector2/Godot.Array)。`DamageContext`(RefCounted)**不得直接穿越语言边界**。约定如下: diff --git a/scripts/autoloads/event_ids.gd b/scripts/autoloads/event_ids.gd index db370f2..40eda71 100644 --- a/scripts/autoloads/event_ids.gd +++ b/scripts/autoloads/event_ids.gd @@ -46,4 +46,8 @@ 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 事件目录表