3.4 KiB
3.4 KiB
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 保留以下地址:
BuildModelHexMapPanelhex_build_01_infohex_build_01HexMapAct
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.pngAssets/AssetsPackage/UI/common/mask.pngAssets/AssetsPackage/Animation/ui/FishingMapPanel/FishingMapPanel.controllerAssets/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:包含HexBuildinggroup/folder 配置。
未剥离耦合点
PlayFabMgr存档链路仍保留,没有改成本地存档或 mock。GContext/UIManager/AGameAct等 ft_3 框架仍保留。Assets/Scripts/暂时完整保留,因为它体积小,且贸然删单个业务目录容易引入编译级引用断裂。LocalPackages/只保留manifest.json实际引用的本地包,以满足manifest.json的本地包路径。
验证阻塞
此前执行备份工程 Unity batchmode 时出现:
[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 先恢复正常,否则容易删错依赖。