修复时间:2025-5-20
修复人员:雪舞
适用版本:0.85.0600
问题描述
在银行/背包内进行材料拖拽叠加时,若其中一方为绑定材料,叠加后绑定属性丢失。
影响范围
涉及以下关键函数:
- 银行内拖拽叠加 →
CGBankSwapItemHandler.cpp
- 往银行存入道具 →
CGBankAddItemHandler.cpp
- 从银行取出道具 →
CGBankRemoveItemHandler.cpp
- 银行内拖拽交换 →
CGBankSwapItemHandler.cpp
- 角色背包整理道具 →
CGPackUpPacketHandler.cpp
- 角色背包拖拽叠加 →
CGPackage_SwipItemHandle.cpp
- 物品移动核心函数→
ItemOperator::MoveItem
解决方案
-
叠加逻辑优化
- 在拖拽/叠加/整理操作时,检测双方材料的绑定状态。
- 若任意一方为绑定属性不同,禁止叠加。
- 若双方均为绑定属性相同,则正常叠加。
-
代码修改建议
预期效果
- 绑定状态不同物品禁止叠加。
- 适用于银行/背包的所有相关操作,确保一致性。
测试方法
背包:
- 背包拖至空格
- 背包拖至非空格并叠加。
- 背包拖至非空格交换物品
银行:
- 存入银行至空格
- 存入银行至非空格并叠加
- 存入银行至非空格并交换物品
- 取出银行至空格
- 取出银行至非空格并叠加
- 取出银行至非空格并交换物品
- 银行内拖至空格
- 银行内叠加
- 银行内交换
修改目标: 修复绑定属性错误问题,同时不影响属性相同物品的叠加逻辑。
|