少年修仙传客户端代码仓库
client_linchunjie
2019-04-01 cb48b941c6ece515bec16b1e246f11822f68b9de
3189 【2.0】背包宝石Ttips页签镶嵌进入界面有优化问题
2个文件已修改
63 ■■■■■ 已修改文件
System/EquipGem/EquipGemModel.cs 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/KnapSack/Logic/ItemOperateUtility.cs 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/EquipGem/EquipGemModel.cs
@@ -267,6 +267,58 @@
            return m_EquipSetRedpoints.TryGetValue(level, out redpoint);
        }
        public Int2 TryGotoUseGem(int itemId)
        {
            var config = ItemConfig.Get(itemId);
            if (config == null)
            {
                return Int2.zero;
            }
            GemType gemType;
            if (!TryGetGemType(config.EffectValueA1, out gemType))
            {
                return Int2.zero;
            }
            Int2 equipPosition = Int2.zero;
            foreach (var level in cacheEquipSets)
            {
                foreach (var place in m_EquipPlaces)
                {
                    var gemTypes = m_EquipGemTypes[place];
                    if (!gemTypes.Contains(config.EffectValueA1))
                    {
                        continue;
                    }
                    for (int i = 0; i < EQUIPGEM_HOLE_COUNT; i++)
                    {
                        if (!IsEquipGemHoleOpen(level, place, i))
                        {
                            continue;
                        }
                        if (equipPosition.Equals(Int2.zero))
                        {
                            equipPosition.x = level;
                            equipPosition.y = place;
                        }
                        var equipGem = 0;
                        if (TryGetEquipGem(level, place, i, out equipGem))
                        {
                            var compareConfig = ItemConfig.Get(equipGem);
                            if(config.EffectValueB1 > compareConfig.EffectValueB1)
                            {
                                return new Int2(level, place);
                            }
                        }
                        else
                        {
                            return new Int2(level, place);
                        }
                    }
                }
            }
            return equipPosition;
        }
        public bool IsEquipGemHoleOpen(int level, int place, int hole)
        {
            var equipPosition = new Int2(level, place);
System/KnapSack/Logic/ItemOperateUtility.cs
@@ -732,9 +732,16 @@
            if (item == null)
            {
                return;
            }
            }
            var equipGemModel = ModelCenter.Instance.GetModel<EquipGemModel>();
            equipGemModel.jumpEquipPosition = new Int2(item.config.LV, item.config.EquipPlace);
            if (ItemLogicUtility.Instance.IsEquip(item.itemId))
            {
                equipGemModel.jumpEquipPosition = new Int2(item.config.LV, item.config.EquipPlace);
            }
            else
            {
                equipGemModel.jumpEquipPosition = equipGemModel.TryGotoUseGem(item.itemId);
            }
            WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.StrengthFunc3);
        }