备份CatanBuilding瘦身独立工程
This commit is contained in:
72
DEPENDENCY_REPORT.md
Normal file
72
DEPENDENCY_REPORT.md
Normal file
@@ -0,0 +1,72 @@
|
||||
# CatanBuilding 依赖报告
|
||||
|
||||
## HexGrid 代码依赖
|
||||
|
||||
`Assets/Scripts/HexGrid/**` 仍依赖 ft_3 的基础运行环境。已扫描到的主要依赖包括:
|
||||
|
||||
- Addressables:加载 `HexMapAct`、`HexMapPanel`、`hex_build_01`、`BuildModel` 等资源。
|
||||
- `GContext` / `asap.core`:解析 `HexMapDataManager` 并发布 `UnloadActToNextAct` 等事件。
|
||||
- `AGameAct` / `GameCore`:`HexMapAct` 的 Act 生命周期基类。
|
||||
- `UIManager`:打开和销毁 `HexMapPanel`。
|
||||
- `PlayFabMgr`:`HexMapDataManager` 仍使用 PlayFab 用户数据保存/加载。
|
||||
- `JsonConvert`:序列化 `HexGridMapUserData`。
|
||||
- DOTween:`HexGridMediator` 相关动画。
|
||||
- Cinemachine:HexMap 摄像机控制。
|
||||
- TMPro:格子文本和面板文本。
|
||||
- UniRx:事件订阅生命周期。
|
||||
|
||||
结论:当前备份是“独立 Unity 工程备份库”,不是完全解耦的 HexBuilding SDK/package。
|
||||
|
||||
## 资源依赖
|
||||
|
||||
HexBuilding Addressables group 保留以下地址:
|
||||
|
||||
- `BuildModel`
|
||||
- `HexMapPanel`
|
||||
- `hex_build_01_info`
|
||||
- `hex_build_01`
|
||||
- `HexMapAct`
|
||||
|
||||
`hex_build_01.prefab` 的直接 GUID 依赖已导出到:`C:\tmp\catanbuilding-backup-audit\hexbuilding-guid-dependencies.csv`。
|
||||
|
||||
当前保留的主要资源依赖:
|
||||
|
||||
- `Assets/AssetsPackage/art/terrainbuilding/test01/**`
|
||||
- `Assets/AssetsPackage/UI/common/btn_close.png`
|
||||
- `Assets/AssetsPackage/UI/common/mask.png`
|
||||
- `Assets/AssetsPackage/Animation/ui/FishingMapPanel/FishingMapPanel.controller`
|
||||
- `Assets/ABPackage/pkgFirstPackage/Fonts/**`
|
||||
|
||||
## 宿主接入点
|
||||
|
||||
- `Assets/Scripts/Stages/LoginStage.cs`:注册 `HexMapDataManager`。
|
||||
- `Assets/Scripts/DataCenter/DataCenter.PlayerData.cs`:加载 `HexMapDataManager.SaveKey` 存档。
|
||||
- `Assets/Scripts/DataCenter/FishingChallengeManager.cs`:通过 Addressables 加载并切换到 `HexMapAct`。
|
||||
- `Assets/Scripts/UI/Home/HomeBtnHexMap.cs`:Home 入口按钮。
|
||||
- `Assets/Scripts/UI/Home/HomePanel.cs`:包含调试快捷键入口。
|
||||
- `Assets/Settings/AddressableHelperSetting.asset`:包含 `HexBuilding` group/folder 配置。
|
||||
|
||||
## 未剥离耦合点
|
||||
|
||||
- `PlayFabMgr` 存档链路仍保留,没有改成本地存档或 mock。
|
||||
- `GContext` / `UIManager` / `AGameAct` 等 ft_3 框架仍保留。
|
||||
- `Assets/Scripts/` 暂时完整保留,因为它体积小,且贸然删单个业务目录容易引入编译级引用断裂。
|
||||
- `LocalPackages/` 只保留 `manifest.json` 实际引用的本地包,以满足 `manifest.json` 的本地包路径。
|
||||
|
||||
## 验证阻塞
|
||||
|
||||
此前执行备份工程 Unity batchmode 时出现:
|
||||
|
||||
```text
|
||||
[Package Manager] The "path" argument must be of type string. Received undefined
|
||||
[Package Manager] Failed to update project manifest: The "path" argument must be of type string. Received undefined
|
||||
```
|
||||
|
||||
对照执行源工程 `C:\Users\13999\Documents\ft_3\Client` 后,源工程也出现同样错误。因此该问题不能归因于备份工程拆分,记录为当前 Unity/UPM 或源工程包配置的既有阻塞。
|
||||
|
||||
由于 Unity 未通过 Package Manager 初始化阶段,当前未能生成 `.csproj`,因此 `dotnet build HotUpdate.csproj` / `Assembly-CSharp.csproj` 暂不可执行。
|
||||
|
||||
## 后续建议
|
||||
|
||||
如果还要进一步瘦身,优先方向不是删 `AssetsPackage`,它已经只剩 HexBuilding 直接资源;下一步可以考虑按 `manifest.json` 实际编译需求裁剪 `LocalPackages/` 和 `Packages/tysdk`,但这需要 Unity/UPM 先恢复正常,否则容易删错依赖。
|
||||
|
||||
Reference in New Issue
Block a user