少年修仙传客户端代码仓库
client_Wu Xijin
2018-08-29 7dcbca7f53bcfa8df7811fd51097598469aaab9c
Core/GameEngine/Model/TelPartialConfig/tagItemCompoundConfig.cs
@@ -7,6 +7,7 @@
    {
        private static Dictionary<int, Dictionary<int, Dictionary<int, List<ItemCompoundConfig>>>> allComposeModelDict = new Dictionary<int, Dictionary<int, Dictionary<int, List<ItemCompoundConfig>>>>();
        static Dictionary<int, List<ItemCompoundConfig>> ticketComposeDict = new Dictionary<int, List<ItemCompoundConfig>>();
        static Dictionary<int, Dictionary<DisplayItemArray, int[]>> displayItemDict = new Dictionary<int, Dictionary<DisplayItemArray, int[]>>();
        public void OnConfigParseCompleted()
        {
            if (!allComposeModelDict.ContainsKey(firstType))
@@ -43,6 +44,25 @@
                    }
                }
            }
            int[] makeIDs = ConfigParse.GetMultipleStr<int>(makeID);
            int[] unfixedItemIDs = ConfigParse.GetMultipleStr<int>(unfixedItemID);
            int[] fixedItemIDs = ConfigParse.GetMultipleStr<int>(itemID);
            int[] fixedItemCounts = ConfigParse.GetMultipleStr<int>(itemCount);
            int[] unfixedDisplay = ConfigParse.GetMultipleStr<int>(unfixedItemDisplay);
            int[] fixedDisplay = ConfigParse.GetMultipleStr<int>(itemDisplay);
            if (!displayItemDict.ContainsKey(id))
            {
                Dictionary<DisplayItemArray, int[]> arrayDict = new Dictionary<DisplayItemArray, int[]>();
                arrayDict.Add(DisplayItemArray.MakeIds,makeIDs);
                arrayDict.Add(DisplayItemArray.UnfixedIds,unfixedItemIDs);
                arrayDict.Add(DisplayItemArray.UnfixedDisplay,unfixedDisplay);
                arrayDict.Add(DisplayItemArray.FixedIds,fixedItemIDs);
                arrayDict.Add(DisplayItemArray.FixedCounts, fixedItemCounts);
                arrayDict.Add(DisplayItemArray.FixedDisplay,fixedDisplay);
                displayItemDict.Add(id, arrayDict);
            }
            if (firstType == (int)ComposeFuncType.Ticket)
@@ -125,6 +145,16 @@
            return ticketComposeDict.TryGetValue(_ticketId, out list);
        }
        public static int[] GetDisplayArrayByType(int id,DisplayItemArray display)
        {
            int[] array = null;
            if(displayItemDict.ContainsKey(id))
            {
                displayItemDict[id].TryGetValue(display,out array);
            }
            return array;
        }
    }
}