找回密码
 register

QQ登录

只需一步,快速开始

查看: 69|回复: 0

[自写引擎] 天龙八部 0.85 解决道具拖拽叠加时绑定属性丢失的思路笔记

[复制链接]

[自写引擎] 天龙八部 0.85 解决道具拖拽叠加时绑定属性丢失的思路笔记

[复制链接]
  • 打卡等级:热心大叔
  • 打卡总天数:200
  • 打卡月天数:23
  • 打卡总奖励:198
  • 最近打卡:2025-05-30 11:48:35
Waylee

主题

0

回帖

2万

积分

仙帝

积分
20019
Waylee 2025-5-19 11:35 | 显示全部楼层 |阅读模式 | Google Chrome | Windows 10

马上注册,查看网站隐藏内容!!

您需要 登录 才可以下载或查看,没有账号?register

×

修复时间:2025-5-20
修复人员:雪舞
适用版本:0.85.0600


问题描述

在银行/背包内进行材料拖拽叠加时,若其中一方为绑定材料,叠加后绑定属性丢失。  

影响范围

涉及以下关键函数:  

  1. 银行内拖拽叠加 → CGBankSwapItemHandler.cpp  
  2. 往银行存入道具 → CGBankAddItemHandler.cpp  
  3. 从银行取出道具 → CGBankRemoveItemHandler.cpp  
  4. 银行内拖拽交换 → CGBankSwapItemHandler.cpp  
  5. 角色背包整理道具 → CGPackUpPacketHandler.cpp  
  6. 角色背包拖拽叠加 → CGPackage_SwipItemHandle.cpp  
  7. 物品移动核心函数→ ItemOperator::MoveItem

解决方案

  1. 叠加逻辑优化  

    • 在拖拽/叠加/整理操作时,检测双方材料的绑定状态。  
    • 若任意一方为绑定属性不同,禁止叠加。  
    • 若双方均为绑定属性相同,则正常叠加。  
  2. 代码修改建议  

    • 在上述函数中,增加绑定状态检查,确保叠加逻辑正确处理绑定属性。  
    • 示例逻辑(伪代码):  

      bool isBound = (item1.isBound == item2.isBound);  
      

预期效果

  • 绑定状态不同物品禁止叠加。  
  • 适用于银行/背包的所有相关操作,确保一致性。  

测试方法

背包:

  1. 背包拖至空格
  2. 背包拖至非空格并叠加。
  3. 背包拖至非空格交换物品  

银行:

  1. 存入银行至空格
  2. 存入银行至非空格并叠加
  3. 存入银行至非空格并交换物品
  4. 取出银行至空格
  5. 取出银行至非空格并叠加
  6. 取出银行至非空格并交换物品
  7. 银行内拖至空格
  8. 银行内叠加
  9. 银行内交换

修改目标: 修复绑定属性错误问题,同时不影响属性相同物品的叠加逻辑。

您需要登录后才可以回帖 登录 | register

本版积分规则

雪舞知识库 | 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 |网站地图|天天打卡

GMT+8, 2025-5-31 08:16 , Processed in 0.160292 second(s), 7 queries , Redis On.

Powered by XueWu Licensed

Copyright © Tencent Cloud.

快速回复 返回顶部 返回列表