少年修仙传客户端代码仓库
client_linchunjie
2019-07-16 3d4c41d91893f359e40390658cd19a5cc041f233
4494 【BUG】【主干】符印tips显示错误
2个文件已修改
18 ■■■■■ 已修改文件
System/ItemTip/TipItemDescriptionWidget.cs 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Rune/RuneModel.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/ItemTip/TipItemDescriptionWidget.cs
@@ -46,6 +46,10 @@
                var sb = new StringBuilder();
                for (int i = 0; i < unlockRunes.Count; i++)
                {
                    if (!runeModel.IsExistInRandomRunes(itemId, unlockRunes[i]))
                    {
                        continue;
                    }
                    var itemConfig = ItemConfig.Get(unlockRunes[i]);
                    var runeConfig = RuneConfig.Get(unlockRunes[i]);
                    if (runeTypes.Contains(runeConfig.AttrType[0]))
System/Rune/RuneModel.cs
@@ -18,6 +18,7 @@
        Dictionary<int, float> levelUpQualityCostModulus;
        Dictionary<int, int> m_QualityMaxLevels;
        Dictionary<int, int> m_MultiPropertyRuneInlayDict;
        Dictionary<int, List<int>> m_RandomRunes = new Dictionary<int, List<int>>();
        List<int> m_MultiPropertyRunes = new List<int>();
        int[] specialHoleRemindLevels = null;
@@ -178,6 +179,14 @@
                }
                specialHole = 8;
                samePropertyHoleLimit = int.Parse(funcConfig.Numerical5);
                funcConfig = FuncConfigConfig.Get("RandomRuneIDList");
                var json = LitJson.JsonMapper.ToObject(funcConfig.Numerical2);
                foreach (var itemKey in json.Keys)
                {
                    var itemId = int.Parse(itemKey);
                    m_RandomRunes[itemId] = new List<int>(LitJson.JsonMapper.ToObject<int[]>(json[itemKey].ToJson()));
                }
            }
            for (int i = 0; i < RUNE_HOLE_COUNT; i++)
@@ -468,6 +477,11 @@
            return count;
        }
        public bool IsExistInRandomRunes(int itemId, int runeId)
        {
            return m_RandomRunes.ContainsKey(itemId) && m_RandomRunes[itemId].Contains(runeId);
        }
        public bool IsRuneHoleOpen(int hole, uint state)
        {
            return MathUtility.GetBitValue(state, (ushort)hole);