2026/2/4
今日開發流水帳(截至目前):
- 排查 Enemy 打不到 Player
- 追了 EnemyHitbox -> CombatSystem -> PlayerHurtbox -> PlayerHealth 全流程。
- 找到關鍵:PlayerHurtbox 群組識別未正確生效。
- 修正後確認玩家可受傷。
- 修正初始化與傷害流程穩定性
- CombatSystem 群組註冊改到較早生命週期。
- 加上流程 debug log,確認請求有進 CombatSystem。
- 完成玩家死亡流程(最小可用)
- PlayerHealth 新增 Died 事件。
- 玩家死亡時 Console 顯示提示。
- 按 Enter(ui_accept)可重載場景重開。
- 建立集中式 Debug 管理
- 新增 DebugSystem。
- 主要 log 改走 DebugSystem.Log/Warn/Error。
- 場景加入 Systems/DebugSystem。
- 整理編碼問題(避免 UTF-8 錯誤洗版)
- 實作右鍵近戰(扇形)
- 新增 PlayerMelee 模組(右鍵觸發、冷卻、範圍、角度、傷害)。
- 近戰命中只送 DamageRequest,維持 CombatSystem 裁決中心化。
- 新增近戰特效(MeleeVFX)
- 統一攻擊命名結構
- 輸入動作統一為 attack_primary / attack_secondary(保留 legacy fallback)。
- 玩家節點統一為 PrimaryAttack / SecondaryAttack。
- PlayerWeapon / PlayerMelee 參數命名對齊(Cooldown、Damage 等)。
- 建立升級系統骨架
- 新增 UpgradeSystem + UpgradeId。
- 可對 PrimaryAttack / SecondaryAttack / Dash 套用數值升級。
- 場景已掛上 Systems/UpgradeSystem,
今日流水帳(續):
- 建立升級選單(最小可用)
- 新增 UpgradeMenu UI 邏輯。
- 可顯示兩個升級選項、按鈕選擇後套用 UpgradeSystem。
- 開啟時暫停、選完恢復。
- 目前提供 debug 開啟鍵:U。
- 修正 UpgradeMenu 編譯問題
- 解掉 CS0266(SizeFlags 型別轉換問題)。
- 改為使用正確 enum 指派。
- UI 從「程式動態建立」改成「場景手動排版」
- UpgradeMenu.cs 重構為只綁定現有節點(Title/Button NodePath)。
- 版面改由 Godot 編輯器調整,邏輯與視覺分離。