| Main/System/Equip/EquipModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Main/AutoFightModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/System/Equip/EquipModel.cs
@@ -198,11 +198,27 @@ int cnt = items.Count; needMoreDrop = cnt >= PackManager.Instance.GetPackMaxCount(PackType.DropItem); //构建所有物品 foreach (var item in items) try { CalcFloorEquip(item.gridIndex); AutoFightModel.Instance.SetCollectEquipForDeComState(true); //构建所有物品 foreach (var item in items) { CalcFloorEquip(item.gridIndex); } AutoFightModel.Instance.SetCollectEquipForDeComState(false); SendEquipOP(AutoFightModel.Instance.decompEquipOPList.ToArray(), 1); AutoFightModel.Instance.decompEquipOPList.Clear(); } catch { if (AutoFightModel.Instance.decompEquipOPList.Count > 0) { SendEquipOP(AutoFightModel.Instance.decompEquipOPList.ToArray(), 1); AutoFightModel.Instance.decompEquipOPList.Clear(); } } if (needMoreDrop) { SendEquipOP(null, 3); Main/System/Main/AutoFightModel.cs
@@ -373,6 +373,14 @@ ChangeAutoEvent?.Invoke(); } //收集要分解的装备,一次性发送 public List<ushort> decompEquipOPList = new List<ushort>(); bool openCollectEquipForDeCom = false; public void SetCollectEquipForDeComState(bool isOpen) { openCollectEquipForDeCom = isOpen; } //自动处理装备,需要等待穿戴返回false,其他情况返回true public bool TryAutoFightDoEquip(ItemModel item) @@ -387,7 +395,18 @@ if (showFightPower <= 0) { EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)item.gridIndex }, 1); if (openCollectEquipForDeCom) { //打开采集,后续一次性分解 ushort dropIndex = (ushort)item.gridIndex; if (!decompEquipOPList.Contains(dropIndex)) decompEquipOPList.Add((ushort)item.gridIndex); } else { //单次分解 EquipModel.Instance.SendEquipOP(new ushort[] { (ushort)item.gridIndex }, 1); } return true; } else