feat: Addressables rules/sync tools, UI fixes, AddressKeys update

- Add AddressableRules.cs: single source of truth for prefix->group and prefix->label rules
- Add AddressableRuleSyncWindow.cs: scan/fix/export-CSV tool (BaseGames > Addressables > Rule Sync)
- AddressableBatchTool.cs: delegate DeriveGroupName to AddressableRules, remove duplicate PrefixGroupMap
- AddressKeys.cs: add Labels constants (Preload, Poolable, Enemy, BGM, SFX, Charms, Config, Weapon)
- Docs/Standards/AddressablesLabelSpec.md: new label naming & assignment spec
- Docs/Standards/AssetFolderSpec.md: update Addressables group strategy section
- SplashScreenController.cs: fix MainMenu loading flow
- BootFlowSetupWizard.cs / SceneScaffoldTools.cs: scene scaffold fixes
- PlayerInputActions: set UI/Point to Pass-Through type
- Persistent.unity: add BootSequencer to auto-load MainMenu on play
- EditorBuildSettings.asset: register scenes for build

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
2026-05-20 11:10:31 +08:00
parent 5fd981f5b9
commit c88d2d0549
46 changed files with 6099 additions and 2588 deletions

View File

@@ -512,16 +512,21 @@ Config/DifficultyEasy
### 8.3 Label标签使用规范
> 完整定义见 `Standards/AddressablesLabelSpec.md`。
| 标签 | 用途 | 相关常量 |
|------|------|---------|
| `Enemy` | 所有敌人 Prefab用于 `LoadAssetsAsync` 批量实例化 | `AddressKeys.Labels.Enemy` |
| `Poolable` | 纳入对象池管理的 PrefabVFX、射物、收集物等)| `AddressKeys.Labels.Poolable` |
| `BGM` | BGM 音频资源FMOD bank 或 AudioClip | `AddressKeys.Labels.BGM` |
| `Charms` | 所有护身符 Prefab/SO用于护身符列表加载 | `AddressKeys.Labels.Charms` |
| `Preload` | 游戏启动时必须预加载的资产 | (待添加常量) |
| `Preload` | 游戏启动时通过 `DownloadDependenciesAsync` 预热下载依赖 | `AddressKeys.Labels.Preload` |
| `Poolable` | 纳入 `GlobalObjectPool` 对象池管理的 PrefabVFX、射物、收集物等)| `AddressKeys.Labels.Poolable` |
| `Enemy` | 所有敌人 Prefab用于区域 Spawner `LoadAssetsAsync` 批量加载 | `AddressKeys.Labels.Enemy` |
| `BGM` | BGM 音频 AudioClip / FMOD bank 引用 SO | `AddressKeys.Labels.BGM` |
| `SFX` | 音效 AudioClip / SFX 配置 SO | `AddressKeys.Labels.SFX` |
| `Charms` | 所有护身符配置 SO供 EquipmentManager 批量加载列表 | `AddressKeys.Labels.Charms` |
| `Config` | 运行时动态加载的配置类 SO | `AddressKeys.Labels.Config` |
| `Weapon` | 所有武器 Prefab玩家换形态时批量加载 | `AddressKeys.Labels.Weapon` |
- 一个资产可附加多个标签(例如 `VFX_HitSpark` 同时有 `Poolable` 标签)
- 新增标签前确认是否有批量加载的需求,避免标签膨胀
- 一个资产可附加多个标签(例如 `VFX_HitSpark` 同时有 `Poolable``Preload` 标签)
- 新增标签前确认是否有批量加载的实际需求,避免标签膨胀(决策流程见 `AddressablesLabelSpec.md §6`
### 8.4 AddressKeys.cs 维护流程