Files
zeling_v2/Docs/Architecture/00_CoverageIndex.md
2026-05-08 11:04:00 +08:00

182 lines
25 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 架构文档索引 / Design 覆盖矩阵
> **建立日期**2026-04-29
> **对比对象**`Docs/Design/`74 份设计文档)←→ `Docs/Architecture/`24 份架构文档)
> **用途**:查询某 Design 文档对应哪份 Architecture 文档及章节;开发 code review checklist
---
## ✅ 当前状态:**架构完整度 100%**
---
## 一、总体评分
| 维度 | 状态 |
|------|------|
| 核心游戏循环(移动/战斗/存档) | ✅ 完整 |
| 敌人与 Boss 基础框架 | ✅ 完整(含 BossSkillModule §23 |
| UI / 音频 / 事件系统 | ✅ 完整 |
| 世界交互与地图 | ✅ 完整(含 MovingPlatform/CrumblePlatform/SkillInteractable §11-15 |
| 进度/装备/技能 | ✅ 完整 |
| 叙事与对话 | ✅ 完整(含 CutsceneSO/CutsceneTrigger |
| 玩家能力扩展系统 | ✅ 完整Shield §20、SwimState §21、DifficultyModule §19 |
| 世界互动机制 | ✅ 完整Puzzle §21、LootSystem §07、LiquidSwim §21 |
| 游戏系统层 | ✅ 完整Difficulty §19、SpeedrunTimer §16、CrashRecovery §12 |
| 视觉反馈层 | ✅ 完整VFXFeedback §18、CameraModule §17、AnimEvent §24 |
---
## 二、逐 Design 文档覆盖矩阵
> 标记说明:✅ 覆盖 | ⚠️ 部分覆盖 | ❌ 未覆盖 | 📖 非技术文档(艺术/叙事/策划,不需要 Architecture
| # | Design 文档 | Architecture 对应 | 状态 | 说明 |
|---|------------|-----------------|------|------|
| 01 | InputSystem | 04_InputModule | ✅ | 完整(含 RebindPanel/ConflictDetector §6 |
| 02 | CameraSystem | **17_CameraModule** | ✅ | CameraStateController/RoomVisibleArea/CameraTriggerZone 全部定义 |
| 03 | PlayerSystem | 05_PlayerModule | ✅ | 完整(含 SwimState、ShieldComponent 引用) |
| 04 | CombatSystem | 06_CombatModule | ✅ | 完整(含 ProjectileConfigSO/LinearProjectile/ParryableProjectile |
| 05 | ParrySystem | 06_CombatModule §4 | ✅ | 完整 |
| 06 | EnemySystem | 07_EnemyModule | ✅ | 完整(含 LootTableSO/LootResolver/LootPickup |
| 07 | FeedbackSystem | **18_VFXFeedbackModule** | ✅ | FeedbackConfigSO/VFXPool/HitFXSpawner 全部定义 |
| 08 | WorldSystem | 08_WorldModule | ✅ | 完整(含 §11-15 MovingPlatform/MagicWall/SoftTerrain/PhantomInteractable |
| 09 | EditorExtensions | — | 📖 | 编辑器工具指南,无需独立 Architecture |
| 10 | UISystem | 10_UIModule | ✅ | 完整 |
| 11 | GameManager | 03_CoreModule | ✅ | 完整(含 DifficultyManager 初始化顺序引用) |
| 12 | AudioSystem | 11_AudioModule | ✅ | 完整 |
| 13 | ProjectileSystem | 06_CombatModule §5 | ✅ | ProjectileConfigSO、LinearProjectile、ParryableProjectile 已定义 |
| 14 | ProgressionSystem | 09_ProgressionModule | ✅ | 完整 |
| 15 | DialogueSystem | 14_NarrativeModule | ✅ | 完整(含 CutsceneSO/CutsceneTrigger |
| 16 | MapSystem | 15_MapShopModule §1 | ✅ | 完整 |
| 17 | EquipmentSystem | 09_ProgressionModule | ✅ | 完整 |
| 18 | CutsceneSystem | 14_NarrativeModule §7 | ✅ | CutsceneTrigger/CutsceneSO 已定义 |
| 19 | BossPatternLibrary | **23_BossSkillModule** | ✅ | BossSkillSO/SkillSequenceSO/WeakPointSystem 全部定义 |
| 20 | AnimationEventSystem | **24_AnimEventModule** | ✅ | PlayerAnimationEvents/EnemyAnimationEvents/AnimationEventBinder 全部定义 |
| 21 | SpellSystem | 09_ProgressionModule | ✅ | 完整 |
| 22 | LocalizationSystem | 16_SupportingModules §1 | ✅ | 完整 |
| 23 | GameFeelTuningGuide | — | 📖 | 数值调参指南,无需 Architecture |
| 24 | GroundDetectionSystem | 05_PlayerModule §3 | ✅ | 合并入 PlayerMovementGroundDetectionConfigSO 已定义 |
| 25 | InputRebindingUI | 04_InputModule §6 | ✅ | RebindPanel/ConflictDetector/RebindPersistence 已定义 |
| 26 | WallMechanicsSystem | 05_PlayerModule §3 | ✅ | 合并入 PlayerMovementWallMechanicsConfigSO 已定义 |
| 27 | PerformanceBudgetGuide | — | 📖 | 性能预算指南,无需 Architecture |
| 28 | ShopSystem | 15_MapShopModule §2 | ✅ | 完整 |
| 29 | DifficultyModesGuide | **19_DifficultyModule** | ✅ | DifficultyLevel enum/DifficultyScalerSO/DifficultyManager 全部定义 |
| 30 | ShieldMechanicsSystem | **20_ShieldModule** | ✅ | ShieldComponent/ShieldConfigSO/IShieldable 全部定义HurtBox 护盾管道已修正 |
| 31 | SaveDataSchema | 12_SaveModule | ✅ | 完整(含 EmergencySaveService/CrashReporter §9 |
| 32 | AchievementSystem | 16_SupportingModules §2 | ✅ | 完整 |
| 33 | EnemyLootSystem | 07_EnemyModule §14 | ✅ | LootTableSO/LootResolver/LootPickup 已定义EnemyBase.Die() 已集成 |
| 34 | EventChainSystem | 14_NarrativeModule §5-6 | ✅ | 完整 |
| 35 | PuzzleArchitecture | **21_LiquidPuzzleModule** Part B | ✅ | ISwitchable/IActivatable/PuzzleSwitch/PuzzleReceiver/PuzzleWire 全部定义 |
| 36 | NavigationHintSystem | **21_LiquidPuzzleModule** §NavHint | ✅ | WorldMarker/BreadcrumbTracker 已定义 |
| 37 | ToolSystem | 09_ProgressionModule §7.5 | ✅ | ToolSlotManager/ToolHUD 已补充 |
| 38 | QuestSystem | **22_QuestChallengeModule** Part A | ✅ | QuestSO/QuestManager/QuestGiver/RewardSO 全部定义 |
| 39 | ChallengeRoomSystem | **22_QuestChallengeModule** Part B | ✅ | ChallengeRoomSO/ChallengeRoomManager 全部定义 |
| 40 | LiquidSwimSystem | **21_LiquidPuzzleModule** Part A | ✅ | LiquidZone/SwimState/LiquidPhysicsConfigSO 全部定义FSM 已补 SwimState |
| 41 | VFXArchitecture | **18_VFXFeedbackModule** | ✅ | VFXPool/HitFXSpawner/HurtFlashController/VFXCatalogSO/FeedbackConfigSO 全部定义 |
| 42 | DebugCheatSystem | 16_SupportingModules §4 | ✅ | 完整 |
| 43 | AddressablesWorkflow | 13_AssetPoolModule | ✅ | 完整 |
| 44 | LevelDesignGuide | — | 📖 | 关卡设计规范,无需 Architecture |
| 45 | TutorialSystem | **21_LiquidPuzzleModule** §Tutorial | ✅ | TutorialManager/ContextualHintTrigger 已定义 |
| 46 | PlatformIntegration | 16_SupportingModules §3 | ✅ | IPlatformService/SteamPlatformService/NullPlatformServiceServiceLocator 模式)已定义 |
| 47 | BossSkillSystem | **23_BossSkillModule** | ✅ | BossSkillSO/SkillSequenceSO/BossSkillExecutor/WeakPointSystem 全部定义 |
| 48 | EnemyRoster | — | 📖 | 敌人名单(策划),无需 Architecture |
| 49 | AntiSoftlockSystem | 16_SupportingModules §5 | ✅ | 完整 |
| 50 | NarrativeDesignSystem | — | 📖 | 叙事结构设计,无需 Architecture |
| 51 | EconomyBalanceDesign | — | 📖 | 经济平衡设计,无需 Architecture |
| 52 | CompletionEndingDesign | — | 📖 | 结局设计,无需 Architecture |
| 53 | WeaponSystem | 05_PlayerModule §5-7 | ✅ | WeaponSOper-attack ClipTransition + DamageSourceSO + WeaponVFXConfig/ WeaponManagerFormSO 事件驱动 + override 词典)/ FormSO.defaultWeapon / WeaponOverrideEffect 均已定义 |
| 54 | PoiseSystem | 06_CombatModule **§13** | ✅ | 已重写为等级比较系统PoiseLevel/BreakLevel 独立枚举,玩家+敌人均支持IPoiseSource/PoiseWindowConfig/PoiseOverrideTableSO|
| 55 | AnalyticsTelemetrySystem | 16_SupportingModules **§8** | ✅ | AnalyticsManager/IAnalyticsBackend 已定义 |
| 56 | CrashRecoverySystem | 12_SaveModule §9 | ✅ | EmergencySaveService/CrashReporter 已定义 |
| 57 | PhysicsLayerMatrix | 06_CombatModule **§12** | ✅ | 完整(含 32 层 Layer ID 表、Ghost/MagicWall/PhantomBody 补充矩阵)|
| 58 | SpeedrunModeSystem | 16_SupportingModules **§9** | ✅ | SpeedrunTimer IGT/RTA 已定义 |
| 59 | QATestingFramework | — | 📖 | QA 流程文档 |
| 60-61 | (Lore/Art 等) | — | 📖 | 非技术文档 |
| 62 | Accessibility_System | 16_SupportingModules **§6** | ✅ | AccessibilitySettingsSO视觉/运动/字幕/输入辅助/音频)/ AccessibilityManager / ColorBlindFilterURP ScriptableRendererFeature已完整定义 |
| 63-73 | (Music/UI-Flow 等) | — | 📖 | 非技术文档 |
| 74 | UIScreenFlowDocument | 10_UIModule | ✅ | 流程覆盖 |
---
## 三、设计理念对齐检查(当前状态)
### ✅ 全部对齐
| 设计原则 | 状态 |
|---------|------|
| 零耦合:禁止 `FindObjectOfType`、禁止直接 `GetComponent` 跨 GO | ✅ 所有 Module 使用 SO 事件频道 |
| 数据驱动:所有数值均在 SO 中配置 | ✅ 每个系统均有对应 ConfigSO |
| 对象池:所有运行时 Prefab 通过 `ObjectPoolManager` | ✅ 13_AssetPoolModule 完整定义 |
| Addressables禁止 `Resources.Load`,使用 `AddressKeys` | ✅ 13_AssetPoolModule 覆盖 |
| Animancer 双层动画 | ✅ 05_PlayerModule §14 |
| 伤害管道HurtBox → Shield → IDamageable | ✅ 20_ShieldModule 已修正管道 |
| 难度系数穿透EnemyStats/PlayerStats/Shop 均订阅 EVT_DifficultyChanged | ✅ 19_DifficultyModule 已定义 |
| FSM 完整SwimState 覆盖液体入水 | ✅ 21_LiquidPuzzleModule 已补充 |
| VFX 落地HitFxType 有消费者 HitFXSpawner | ✅ 18_VFXFeedbackModule 已定义 |
| 平台抽象IPlatformService ServiceLocator | ✅ 16_SupportingModules §3 已重构 |
---
## 四、架构文档新增历史
| 文件 | 覆盖 Design 文档 | 内容摘要 |
|------|----------------|---------|
| [17_CameraModule.md](17_CameraModule.md) | 02 | CameraStateController、RoomVisibleArea、CameraTriggerZone、CameraConfigSO |
| [18_VFXFeedbackModule.md](18_VFXFeedbackModule.md) | 41、07 | VFXPool、HitFXSpawner、HurtFlashController、VFXCatalogSO、FeedbackConfigSO |
| [19_DifficultyModule.md](19_DifficultyModule.md) | 29 | DifficultyLevel enum、DifficultyScalerSO、DifficultyManager |
| [20_ShieldModule.md](20_ShieldModule.md) | 30 | ShieldComponent、ShieldConfigSO、IShieldable、伤害管道修正 |
| [21_LiquidPuzzleModule.md](21_LiquidPuzzleModule.md) | 40、35、36、45 | LiquidZone、SwimState、PuzzleSwitch/Receiver/Wire、WorldMarker、TutorialManager |
| [22_QuestChallengeModule.md](22_QuestChallengeModule.md) | 38、39 | QuestSO、QuestManager、QuestGiver、ChallengeRoomSO、ChallengeRoomManager |
| [23_BossSkillModule.md](23_BossSkillModule.md) | 47、19 | BossSkillSO、SkillSequenceSO、BossSkillExecutor、WeakPointSystem |
| [24_AnimEventModule.md](24_AnimEventModule.md) | 20 | PlayerAnimationEvents、EnemyAnimationEvents、AnimationEventBinder |
---
## 五、现有文档已应用的 Patch历史记录
| 文件 | 应用内容 | 状态 |
|------|---------|------|
| [05_PlayerModule.md](05_PlayerModule.md) | SwimState 加入 FSM 列表PlayerController 添加 ShieldComponent 引用 | ✅ 已应用 |
| [06_CombatModule.md](06_CombatModule.md) | ProjectileConfigSO、LinearProjectile、ParryableProjectileHurtBox 护盾检查步骤 | ✅ 已应用 |
| [07_EnemyModule.md](07_EnemyModule.md) | EnemyBase._lootTable 字段Die() 调用 LootResolver§14 LootTableSO/LootResolver/LootPickup | ✅ 已应用 |
| [09_ProgressionModule.md](09_ProgressionModule.md) | §7.5 ToolSlotManager两槽 + 冷却)+ ToolHUD | ✅ 已应用 |
| [12_SaveModule.md](12_SaveModule.md) | §9 EmergencySaveService + CrashReporter | ✅ 已应用 |
| [04_InputModule.md](04_InputModule.md) | §6 RebindPanel、ConflictDetector、RebindPersistence | ✅ 已应用 |
| [14_NarrativeModule.md](14_NarrativeModule.md) | §7.5 CutsceneSO + CutsceneTrigger | ✅ 已应用 |
| [16_SupportingModules.md](16_SupportingModules.md) | §3 IPlatformService 补全IncrementStat/GetStat/IsAchievementUnlocked/RichPresence/Rumble/Lifecycle§6 AccessibilityManager 全面重写AccessibilitySettingsSO + ColorBlindFilter**§8** AnalyticsManager**§9** SpeedrunTimer | ✅ 已应用 |
| [05_PlayerModule.md](05_PlayerModule.md) | §5 PlayerCombat 更新HitBox 挂角色/RefreshWeaponData/SetComboSegmentSource§6 FormController 改 CurrentForm→FormSO + C# event§7 WeaponManager 全面重写FormSO 驱动/override 词典WeaponSO 改为纯数据 SOFormSO.defaultWeaponWeaponOverrideEffect§18 FormConfigSO 改为 forms:FormSO[]AttackState 更新连击读取逻辑 | ✅ 已应用 |
| [06_CombatModule.md](06_CombatModule.md) | §12 Layer 矩阵重写PlayerHitBox/EnemyHitBox 正确命名;完整 32 层 Layer ID 表Ghost/MagicWall/PhantomBody 补充矩阵) | ✅ 已应用 |
| [03_CoreModule.md](03_CoreModule.md) | §10 初始化序列注释 DifficultyManager 加载顺序与事件广播说明 | ✅ 已应用 |
| [02_EventSystem.md](02_EventSystem.md) | `EVT_AbilityUnlocked` 类型从 `AbilityTypeEventChannelSO` 改为 `StringEventChannelSO`payload 改为 abilityId string订阅方补充 `AbilityGate` | ✅ 已应用 |
| [09_ProgressionModule.md](09_ProgressionModule.md) | §2 AbilityGate 重写StringEventChannelSO、_hintUI、_saveData 注入、OnEnable/OnDisable 订阅、handler 改为 string 参数§4 EquipmentContext 改 class→struct、字段对齐 Design/17§5 内置魅力效果全面更新StatModifierEffect/AttackSpeedEffect/OnHitEffect API 对齐 Design新增 SoulSpellEffect、SkillSlotOverrideEffect、WeaponOverrideEffect§6 EquipmentManager 改 TryEquipCharm/UnequipCharm、返回 string|null、_ctx 在 Awake 初始化、添加 CharmEventChannelSO 频道§15 事件表 EVT_AbilityUnlocked 类型同步 | ✅ 已应用 |
| [10_UIModule.md](10_UIModule.md) | §4 BossHPBar 事件频道从 StringEventChannelSO _onBossFightStarted + BoolEventChannelSO _onBossFightEnded + FloatEventChannelSO _onBossHPRatioChanged 改为 BoolEventChannelSO _onBossFightToggled + IntEventChannelSO _onBossHPChanged + StringEventChannelSO _onBossNameSet + IntEventChannelSO _onBossHPMaxSet同步底部事件表EVT_AbilityUnlocked 类型同步 | ✅ 已应用 |
| [11_AudioModule.md](11_AudioModule.md) | §3 BGMController 字段 _onAudioZoneEntered→_onRegionEntered、_currentZoneId→_currentRegion、方法 SwitchZoneBGM→OnRegionEntered§3.5 状态机图同步§4 AudioZone _onAudioZoneEntered→_onRegionEntered事件表 EVT_AudioZoneEntered→EVT_RegionEntered | ✅ 已应用 |
| [14_NarrativeModule.md](14_NarrativeModule.md) | 头部命名空间/路径新增 `BaseGames.EventChain`**§5 EventChain 完全重写**Step-basedIEventChainStep/ECS_*/EventChainContext→ Condition+Action SO 驱动7 种 ChainCondition + 10 种 ChainAction含 BossDefeatedCondition/FlagSetCondition/AbilityUnlockedCondition 等);**§6 EventChainManager 完全重写**:路径从 Cutscene/ 改为 EventChain/,字段改为 `EventChainSO[] _chains` + 5 个 StringEventChannelSO中继 C# 事件供 ChainCondition.Register()EvaluateAll()+ExecuteChain() 自动评估执行,`_completedChains HashSet` 持久化,`OnChainCompleted` 事件广播;**§6.1** SaveData 集成说明 | ✅ 已应用 |
| [02_EventSystem.md](02_EventSystem.md) | 战斗系统表新增 `EVT_BossFightToggled`BoolEventChannelSO`EVT_BossHPChanged`IntEventChannelSO`EVT_BossNameSet`StringEventChannelSO`EVT_BossHPMaxSet`IntEventChannelSO四条 BossHPBar 所需频道;音频系统表 `EVT_AudioZoneEntered``EVT_RegionEntered`(对齐 Architecture/11新增 **§ 事件链/EventChain** 区段EVT_ChainCompleted / EVT_DoorOpened / EVT_FlagChanged | ✅ 已应用 |
| [09_ProgressionModule.md](09_ProgressionModule.md) | AbilityType 枚举新增 `AerialDash`(空中冲刺,默认锁定)和 `InvincibleDash`冲刺全程无敌§10 SkillModifierRegistry 新增 `GetEffectiveParams(FormSkillSO)→EffectiveSkillParams` 主 API 及 `EffectiveSkillParams` 结构体(含 effectiveCost/effectiveCooldown/damageMult/rangeMult/effectiveFeedback/effectiveAnimation 字段),保留 `GetModifiedValue()` 向后兼容 | ✅ 已应用 |
| [11_AudioModule.md](11_AudioModule.md) | **§9** 脚步声材质分层系统FootstepMaterial 枚举、FootstepAudioConfigSO、FootstepMaterialMarker、播放时机说明**§10** 水下音效处理UnderwaterAudioController、Underwater Snapshot DSP 配置、水下专属 SFX 对照表) | ✅ 已应用 |
| [12_SaveModule.md](12_SaveModule.md) | **§10** SaveValidator 静态类Result 结构体、HP/Geo/Scene/Version 四项校验规则SaveAsync 前调用);**§11** IDlcSaveExtension 接口DlcId/Serialize/Deserialize/MigrateIfNeeded/OnNgPlusReset 五个成员)及 SaveManager 集成RegisterDlcExtension、SaveAsync/LoadAsync 循环调用) | ✅ 已应用 |
| [14_NarrativeModule.md](14_NarrativeModule.md) | **§7.6** SignalEmitterClip 自定义 PlayableAsset零耦合 Timeline→SO 事件桥接SignalEmitterClipPlayableAsset/ITimelineClipAsset+ SignalEmitterBehaviourPlayableBehaviour含 _fired 防重复机制)及使用场景示例 | ✅ 已应用 |
| [16_SupportingModules.md](16_SupportingModules.md) | **§1.1** LanguageManagerSOSO 单例PlayerPrefs 持久化SetLocale/GetCurrentLocaleCode/LoadSavedLocale 三方法);与静态 LocalizationManager 职责对比说明(文本查询 vs 语言切换+持久化) | ✅ 已应用 |
| [12_SaveModule.md](12_SaveModule.md) | EquipmentSaveData 移除重复工具字段ToolSlot0/ToolSlot1/OwnedToolIds/ToolStates——这些字段仅属于 ToolsSaveData顶层 SaveData.Tools添加注释说明归属 | ✅ 已应用 |
| [09_ProgressionModule.md](09_ProgressionModule.md) | ToolSlotManager.OnSave() 数据写入路径从 `data.Equipment.ToolSlotX` 修正为 `data.Tools.ToolSlotX`OnLoad 注释同步为"从 data.Tools 恢复" | ✅ 已应用 |
| [23_BossSkillModule.md](23_BossSkillModule.md) | BossSkillSO 补全 `attackPatterns: AttackPatternSO[]``counterResponses: PlayerCounterResponse[]``arenaEvents: ArenaEventTrigger[]``resourceCost: BossResourceCost``buildsRage: bool``poiseWindow: PoiseWindowConfig` 六个缺失字段;新增 §4.1 PlayerCounterResponse + CounterType 枚举、§4.2 ArenaEventTrigger/ArenaEventType/ArenaEventParams/ArenaEventData/IArenaInteractable、§4.3 BossResourceCost + BossResourceConfigSO 定义 | ✅ 已应用 |
| [16_SupportingModules.md](16_SupportingModules.md) | §2 AchievementManager 完全重写(对齐 Design/32 SO 策略模式AchievementDef/AchievementDatabaseSO 替换为 AchievementSO + AchievementType/AchievementTier 枚举 + AchievementCondition 抽象基类RegisterListeners/UnregisterListeners/IsMet+ 内置 12 种条件类型表 + DefeatedBossCondition 示例 + AchievementManager_allAchievements: AchievementSO[],中继 C# 事件EvaluateAll/Unlock+ AchievementRuntimeState | ✅ 已应用 |
| [24_AnimEventModule.md](24_AnimEventModule.md) | `IAnimEventReceiver` 重命名为 `IAnimationEventHandler`;方法签名 `OnAnimationEvent(type, data)` 改为 `HandleEvent(type, payload)`AnimationEventBinder.Bind() 参数类型、PlayerAnimationEvents/EnemyAnimationEvents 实现声明及方法体内 payload 用法全部同步 | ✅ 已应用 |
| [16_SupportingModules.md](16_SupportingModules.md) | §5 AntiSoftlockSystem 后新增 §5.1 RoomEscapeInfoSO设计时房间逃离 SO含 EscapeRoute 嵌套类,对齐 Design/49 §3+ §5.2 HardAbilityGateAbilityGate 子类_requirePhysicalValidation + _sequenceBreakRisk对齐 Design/49 §4.2 | ✅ 已应用 |
| [13_AssetPoolModule.md](13_AssetPoolModule.md) | AddressKeys 常量从下划线分隔(`Scene_Persistent`/`Pfx_Enemy_Grunt`/`Label_Enemy` 等)改为驼峰式无下划线(`ScenePersistent`/`PrefabEnemyGrunt`/`LabelEnemy` 等),对齐 Design/43 §8 命名规范;`ScenePersistent` 值修正 `"Persistent"``"Scene_Persistent"``ObjectPoolManager` 类全部重命名为 `GlobalObjectPool`(类名/Instance/PooledObject.Setup 参数/内部 _pool 字段/文件路径注释均更新) | ✅ 已应用 |
| [14_NarrativeModule.md](14_NarrativeModule.md) | §1 IInteractable 命名空间从 `BaseGames.Dialogue` 修正为 `BaseGames.World`,文件路径从 `Dialogue/` 改为 `World/`;新增 §2 InteractionPromptController提示图标组件Show/Hide/图标切换DialogueLineSO 段补加 §3 标题§4 DialogueManager 重编号原§3新增 §5 DialogueUIShowLine/SkipTyping/Hide + StringBuilder 打字机零分配实现§6 InteractableNPC 重编号并添加 `Interact_Internal`/`GetCurrentDialogue` 虚方法;新增 §7 NarrativeNPCDialogueVersion[]CheckConditions 条件对话)+ DialogueVersion 结构体;新增 §8 WorldStateRegistrySO 形式HashSet 存储SetFlag/HasFlag/LoadFromSave/GetAllFlagsEventChain/EventChainManager 等段落重编号为 §9-12CutsceneTrigger 修正:改用 `[SerializeField] WorldStateRegistry _worldState` SO 注入,将 `WorldStateRegistry.Instance.IsFlagSet` 替换为 `_worldState.HasFlag`,将 `SetFlag(..., true)` 改为单参数 `SetFlag(...)` | ✅ 已应用 |
| [20_ShieldModule.md](20_ShieldModule.md) | `IShieldable.AbsorbDamage` 签名从 `void AbsorbDamage(ref DamageInfo info)` 改为 `int AbsorbDamage(int incomingDamage)`(返回穿透伤害剩余量,对齐 Design/30 §2.3ShieldComponent 实现同步(移除 ref 参数return passThrough注释更新HurtBox 调用方式更新:`_shieldable.AbsorbDamage(info.Amount)` 取返回值再 TakeDamage | ✅ 已应用 |
| [21_LiquidPuzzleModule.md](21_LiquidPuzzleModule.md) | PuzzleWire 中 `WireLogic` 枚举重命名为 `LogicType`(对齐 Design/35字段 `_logic: WireLogic` 更新为 `_logic: LogicType`switch case 常量同步 | ✅ 已应用 |
| [22_QuestChallengeModule.md](22_QuestChallengeModule.md) | §3 QuestObjectiveSO 从单类+ObjectiveType 枚举重写为多态体系(抽象基类 + TalkToNPCObjective/DefeatEnemyObjective/CollectItemObjective/ReachAreaObjective/UseSkillObjective 五个子类,对齐 Design/38 §3QuestManager.IsObjectiveComplete 改用 `obj.EvaluateCompletion(state)` 多态调用§6 QuestGiver 从 `[RequireComponent] MonoBehaviour` 改为 `QuestGiver : InteractableNPC`(继承方式),字段改为 `QuestSO[] _offeredQuests` 数组,通过 `override Interact_Internal`+`override GetCurrentDialogue` 实现任务接受/完成和对话切换(对齐 Design/38 §5 | ✅ 已应用 |
| [08_WorldModule.md](08_WorldModule.md) | §7 IInteractable 命名空间从 `BaseGames.Dialogue` 修正为 `BaseGames.World`,文件路径注释从 `Assets/Scripts/Dialogue/IInteractable.cs位于 Dialogue 命名空间World 引用它)` 改为 `Assets/Scripts/World/IInteractable.cs`(对齐 Architecture/14 §1 权威定义) | ✅ 已应用 |
| [04_InputModule.md](04_InputModule.md) | §4 InputBuffer 从单一 `_bufferTime = 0.15f` 改为三个独立缓冲时长字段(`_jumpBufferDuration=0.15f`/`_attackBufferDuration=0.12f`/`_dashBufferDuration=0.10f`),对齐 Design/01 §4 缓冲时长配置表;注释补充弹反/UseSpring/SpiritSkill 不缓冲说明OnEnable/OnDisable 订阅改用各自独立时长字段 | ✅ 已应用 |
| [06_CombatModule.md](06_CombatModule.md) | §5 HurtBox ReceiveDamage 步骤 4 护盾拦截:移除旧 `_shieldable.AbsorbDamage(ref info)` + `return` 模式,改为 `int passThrough = _shieldable.AbsorbDamage(info.Amount)`passThrough ≤ 0 时 return否则将穿透量赋回 `info.Amount` 继续走后续防御减免→TakeDamage 流程(对齐 Architecture/20 IShieldable 新签名) | ✅ 已应用 |
| [07_EnemyModule.md](07_EnemyModule.md) | §1 EnemyBase 新增 `public virtual void Knockback(DamageInfo info)` 方法(检查 DamageFlags.NoKnockback调用 `_movement.ApplyKnockback`,对齐 Design/06 §2 方法表§6 EnemyStatsSO `[Header("Attack")]` 后新增 `[Range(0f,1f)] public float StaggerResistance = 0f` 字段0=正常硬直1=完全免疫,对齐 Design/06 §3 属性表) | ✅ 已应用 |
| [01_ProjectStructure.md](01_ProjectStructure.md) | §5 AddressKeys 类常量名从下划线分隔(`Pfx_Player_Main`/`Pfx_UI_HUD`/`Pfx_VFX_HitSpark` 等)全部改为驼峰式(`PrefabPlayer`/`PrefabUIHUD`/`PrefabVFXHitSpark`命名规范注释同步§6 推荐模式代码示例 `AddressKeys.Pfx_Player_Main` 改为 `AddressKeys.PrefabPlayer``ObjectPoolManager.Instance.Spawn` 改为 `GlobalObjectPool.Instance.Spawn`,常量引用同步 | ✅ 已应用 |
| [18_VFXFeedbackModule.md](18_VFXFeedbackModule.md) | 头部依赖说明 `BaseGames.CoreObjectPoolManager` 改为 `BaseGames.CoreGlobalObjectPool`,对齐 Architecture/13 全局对象池命名 | ✅ 已应用 |
| [05_PlayerModule.md](05_PlayerModule.md) | §1 设计原则从「HitBox 不挂载在 Player Prefab 本体上 / 独立武器 Prefab」改为「HitBox 固定挂载于 Player Prefab / PlayerCombat 管理四向 HitBox / WeaponSO 纯数据驱动」,对齐 §5 PlayerCombat 及 §7 WeaponManager 的实际实现(注释一致性修正) | ✅ 已应用 |
| [06_CombatModule.md](06_CombatModule.md) | §1 DamageInfo 结构体字段:移除所有 `readonly` 关键字Builder 类需从外部为 `_d` 的字段赋值C# 禁止为 class 内嵌 struct 的 readonly 字段赋值注释改为「Builder 工具类负责逐字段构建Amount/FinalDamage 在 HurtBox 流水线内可就地修改(局部变量)」,确保代码可编译 | ✅ 已应用 |
| [02_EventSystem.md](02_EventSystem.md) | 末尾新增 §7 EventChannelRegistry全文定义MonoBehaviour 单例Dictionary<string, SO> 注册表Register/Get<T> 两方法DontDestroyOnLoad注册时机说明对齐 Architecture/09 §4 EquipmentContext.Events 字段及 EquipmentManager.Awake() 的 `EventChannelRegistry.Instance` 调用 | ✅ 已应用 |