[3.6 建议] 导入资源包,增加【冲突检测】和【合并选项】

建议

  1. 导入资源包时,自动比对资源包内的 uuid 和现有包体内的有无冲突。
  2. 如果有冲突,在导入前的资源列表确认界面上,就显著标识,并且标识清楚是 【uuid 和文件都相同】、【uuid 相同但文件不同】、【uuid 不同、但文件路径相同、且文件相同】、【uuid 不同、文件路径相同、文件也不同】。
  3. 对于冲突的项目,可以手动选择是 【导入为新资源】、【使用已有资源】、【覆盖已有资源】。

(类似 Git 的冲突合并机制,对每个文件都可以单独提示和设置)

使用场景

  1. 开发一个庞大的项目,需要拆分成若干子系统和组件。
  2. 由于项目规模和组织架构原因,需要拆分成若干个 Git 仓库和 Cocos 项目开发各个模块。
  3. 模块之间有独立性,也有公共资源的引用。
  4. 个别模块,会修改少量公共资源。

举例

某大型游戏的活动运营系统,由外包人员开发。出于代码安全考虑,外包人员拿不到游戏的程序包体,只能获取有限的【公共资源】。例如(通用按钮底图、背景图、部分组件脚本等)

场景 1
游戏主包换了一套 UI(换了按钮底图、背景图),但外包是在此之前拿到的通用资源开发活动,希望导入资源包后,对于【运营活动】,也能自动引用新的 UI 通用资源。此时,需要根据【uuid 相同但文件不同】的提示,手动将指定资源设置为【使用已有资源】。

场景 2
外包人员开发活动,因为 UI 设计原因,外包人员修改了部分通用素材图片。
希望在导入资源包时,外包人员的修改仅仅限于其开发的运营活动生效,而不会覆盖污染全局的通用 UI。此时可以根据【uuid 相同但文件不同】的提示,将相应的资源设置为【导入为新资源】。

等等。

如此,将极大有利于分项目的组件化开发协作。 @jare

1赞

感谢反馈,我先记录一下,后续看看如何完善。